﻿2026-06-02T10:47:23.1574366Z ##[group]Run ./traceable-reqs check --json
2026-06-02T10:47:23.1575089Z [36;1m./traceable-reqs check --json[0m
2026-06-02T10:47:23.1604892Z shell: /usr/bin/bash -e {0}
2026-06-02T10:47:23.1605235Z ##[endgroup]
2026-06-02T10:47:23.1709476Z {
2026-06-02T10:47:23.1709873Z   "schemaVersion": 1,
2026-06-02T10:47:23.1710177Z   "summary": {
2026-06-02T10:47:23.1710499Z     "requirementCount": 116,
2026-06-02T10:47:23.1710844Z     "completeCount": 116,
2026-06-02T10:47:23.1711150Z     "incompleteCount": 0,
2026-06-02T10:47:23.1711440Z     "findingCount": 7
2026-06-02T10:47:23.1711990Z   },
2026-06-02T10:47:23.1712487Z   "requirements": [
2026-06-02T10:47:23.1713006Z     {
2026-06-02T10:47:23.1713492Z       "id": "REQ-API-1",
2026-06-02T10:47:23.1714377Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-02T10:47:23.1715083Z       "requiredStages": [
2026-06-02T10:47:23.1715553Z         "impl",
2026-06-02T10:47:23.1715982Z         "unit",
2026-06-02T10:47:23.1716366Z         "int"
2026-06-02T10:47:23.1716830Z       ],
2026-06-02T10:47:23.1717209Z       "stages": {
2026-06-02T10:47:23.1718093Z         "doc": {
2026-06-02T10:47:23.1718526Z           "complete": false,
2026-06-02T10:47:23.1719017Z           "evidence": []
2026-06-02T10:47:23.1719434Z         },
2026-06-02T10:47:23.1719825Z         "impl": {
2026-06-02T10:47:23.1720233Z           "complete": true,
2026-06-02T10:47:23.1720677Z           "evidence": [
2026-06-02T10:47:23.1721109Z             {
2026-06-02T10:47:23.1722434Z               "path": "crates/spt/src/api/mod.rs",
2026-06-02T10:47:23.1722984Z               "line": 15
2026-06-02T10:47:23.1723402Z             }
2026-06-02T10:47:23.1723780Z           ]
2026-06-02T10:47:23.1724151Z         },
2026-06-02T10:47:23.1724513Z         "int": {
2026-06-02T10:47:23.1724912Z           "complete": true,
2026-06-02T10:47:23.1725357Z           "evidence": [
2026-06-02T10:47:23.1725766Z             {
2026-06-02T10:47:23.1726226Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-02T10:47:23.1726805Z               "line": 13
2026-06-02T10:47:23.1727222Z             }
2026-06-02T10:47:23.1727859Z           ]
2026-06-02T10:47:23.1728241Z         },
2026-06-02T10:47:23.1728599Z         "unit": {
2026-06-02T10:47:23.1728988Z           "complete": true,
2026-06-02T10:47:23.1729424Z           "evidence": [
2026-06-02T10:47:23.1729831Z             {
2026-06-02T10:47:23.1730266Z               "path": "crates/spt/src/api/mod.rs",
2026-06-02T10:47:23.1730792Z               "line": 314
2026-06-02T10:47:23.1731196Z             },
2026-06-02T10:47:23.1731564Z             {
2026-06-02T10:47:23.1732006Z               "path": "crates/spt/src/api/mod.rs",
2026-06-02T10:47:23.1732544Z               "line": 320
2026-06-02T10:47:23.1732986Z             },
2026-06-02T10:47:23.1733373Z             {
2026-06-02T10:47:23.1733808Z               "path": "crates/spt/src/api/mod.rs",
2026-06-02T10:47:23.1734354Z               "line": 331
2026-06-02T10:47:23.1734922Z             }
2026-06-02T10:47:23.1735327Z           ]
2026-06-02T10:47:23.1735700Z         }
2026-06-02T10:47:23.1736081Z       }
2026-06-02T10:47:23.1736452Z     },
2026-06-02T10:47:23.1736814Z     {
2026-06-02T10:47:23.1737198Z       "id": "REQ-API-2",
2026-06-02T10:47:23.1745704Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-02T10:47:23.1746464Z       "requiredStages": [
2026-06-02T10:47:23.1746891Z         "impl",
2026-06-02T10:47:23.1747262Z         "unit",
2026-06-02T10:47:23.1747946Z         "int"
2026-06-02T10:47:23.1748307Z       ],
2026-06-02T10:47:23.1748662Z       "stages": {
2026-06-02T10:47:23.1749036Z         "doc": {
2026-06-02T10:47:23.1749428Z           "complete": false,
2026-06-02T10:47:23.1749883Z           "evidence": []
2026-06-02T10:47:23.1750286Z         },
2026-06-02T10:47:23.1750636Z         "impl": {
2026-06-02T10:47:23.1751022Z           "complete": true,
2026-06-02T10:47:23.1751455Z           "evidence": [
2026-06-02T10:47:23.1751846Z             {
2026-06-02T10:47:23.1752588Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-02T10:47:23.1753282Z               "line": 20
2026-06-02T10:47:23.1753675Z             },
2026-06-02T10:47:23.1754046Z             {
2026-06-02T10:47:23.1754462Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-02T10:47:23.1754980Z               "line": 125
2026-06-02T10:47:23.1755379Z             },
2026-06-02T10:47:23.1755734Z             {
2026-06-02T10:47:23.1756079Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.1756418Z               "line": 21
2026-06-02T10:47:23.1756679Z             },
2026-06-02T10:47:23.1756930Z             {
2026-06-02T10:47:23.1757217Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.1758106Z               "line": 36
2026-06-02T10:47:23.1758529Z             },
2026-06-02T10:47:23.1758779Z             {
2026-06-02T10:47:23.1759072Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.1759421Z               "line": 101
2026-06-02T10:47:23.1759725Z             },
2026-06-02T10:47:23.1759986Z             {
2026-06-02T10:47:23.1760273Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.1760616Z               "line": 133
2026-06-02T10:47:23.1760882Z             },
2026-06-02T10:47:23.1761124Z             {
2026-06-02T10:47:23.1761407Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.1761747Z               "line": 157
2026-06-02T10:47:23.1762020Z             },
2026-06-02T10:47:23.1835754Z             {
2026-06-02T10:47:23.1836245Z               "path": "crates/spt/src/api/worker.rs",
2026-06-02T10:47:23.1836803Z               "line": 17
2026-06-02T10:47:23.1837255Z             },
2026-06-02T10:47:23.1838026Z             {
2026-06-02T10:47:23.1838538Z               "path": "crates/spt/src/api/worker.rs",
2026-06-02T10:47:23.1839105Z               "line": 30
2026-06-02T10:47:23.1839488Z             },
2026-06-02T10:47:23.1839815Z             {
2026-06-02T10:47:23.1840230Z               "path": "crates/spt/src/api/worker.rs",
2026-06-02T10:47:23.1840717Z               "line": 63
2026-06-02T10:47:23.1841087Z             },
2026-06-02T10:47:23.1841421Z             {
2026-06-02T10:47:23.1841868Z               "path": "crates/spt/src/api/worker.rs",
2026-06-02T10:47:23.1842369Z               "line": 76
2026-06-02T10:47:23.1842739Z             }
2026-06-02T10:47:23.1843088Z           ]
2026-06-02T10:47:23.1843424Z         },
2026-06-02T10:47:23.1843781Z         "int": {
2026-06-02T10:47:23.1844181Z           "complete": true,
2026-06-02T10:47:23.1844633Z           "evidence": [
2026-06-02T10:47:23.1845018Z             {
2026-06-02T10:47:23.1845460Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-02T10:47:23.1845997Z               "line": 14
2026-06-02T10:47:23.1846423Z             },
2026-06-02T10:47:23.1846795Z             {
2026-06-02T10:47:23.1847243Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-02T10:47:23.1848046Z               "line": 122
2026-06-02T10:47:23.1848484Z             }
2026-06-02T10:47:23.1848848Z           ]
2026-06-02T10:47:23.1849232Z         },
2026-06-02T10:47:23.1849610Z         "unit": {
2026-06-02T10:47:23.1850014Z           "complete": true,
2026-06-02T10:47:23.1850466Z           "evidence": [
2026-06-02T10:47:23.1850879Z             {
2026-06-02T10:47:23.1851324Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-02T10:47:23.1851882Z               "line": 204
2026-06-02T10:47:23.1852287Z             },
2026-06-02T10:47:23.1852757Z             {
2026-06-02T10:47:23.1853185Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.1853710Z               "line": 230
2026-06-02T10:47:23.1854117Z             },
2026-06-02T10:47:23.1854454Z             {
2026-06-02T10:47:23.1854871Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.1855241Z               "line": 241
2026-06-02T10:47:23.1855511Z             },
2026-06-02T10:47:23.1855746Z             {
2026-06-02T10:47:23.1856319Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.1856783Z               "line": 277
2026-06-02T10:47:23.1857049Z             },
2026-06-02T10:47:23.1857291Z             {
2026-06-02T10:47:23.1857828Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.1858177Z               "line": 289
2026-06-02T10:47:23.1858439Z             },
2026-06-02T10:47:23.1858670Z             {
2026-06-02T10:47:23.1858948Z               "path": "crates/spt/src/api/worker.rs",
2026-06-02T10:47:23.1859280Z               "line": 137
2026-06-02T10:47:23.1859537Z             },
2026-06-02T10:47:23.1859774Z             {
2026-06-02T10:47:23.1860045Z               "path": "crates/spt/src/api/worker.rs",
2026-06-02T10:47:23.1860368Z               "line": 172
2026-06-02T10:47:23.1860619Z             }
2026-06-02T10:47:23.1860849Z           ]
2026-06-02T10:47:23.1861074Z         }
2026-06-02T10:47:23.1861317Z       }
2026-06-02T10:47:23.1861553Z     },
2026-06-02T10:47:23.1861795Z     {
2026-06-02T10:47:23.1862035Z       "id": "REQ-API-3",
2026-06-02T10:47:23.1862392Z       "title": "commune/signoff are file-drops, not commands",
2026-06-02T10:47:23.1862780Z       "requiredStages": [
2026-06-02T10:47:23.1863055Z         "impl",
2026-06-02T10:47:23.1863301Z         "unit",
2026-06-02T10:47:23.1863541Z         "int"
2026-06-02T10:47:23.1863778Z       ],
2026-06-02T10:47:23.1864016Z       "stages": {
2026-06-02T10:47:23.1864274Z         "doc": {
2026-06-02T10:47:23.1864530Z           "complete": false,
2026-06-02T10:47:23.1864816Z           "evidence": []
2026-06-02T10:47:23.1865082Z         },
2026-06-02T10:47:23.1865319Z         "impl": {
2026-06-02T10:47:23.1865579Z           "complete": true,
2026-06-02T10:47:23.1865871Z           "evidence": [
2026-06-02T10:47:23.1866135Z             {
2026-06-02T10:47:23.1866428Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-02T10:47:23.1866783Z               "line": 14
2026-06-02T10:47:23.1867052Z             },
2026-06-02T10:47:23.1867563Z             {
2026-06-02T10:47:23.1867929Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.1868309Z               "line": 167
2026-06-02T10:47:23.1868582Z             }
2026-06-02T10:47:23.1868824Z           ]
2026-06-02T10:47:23.1869063Z         },
2026-06-02T10:47:23.1869307Z         "int": {
2026-06-02T10:47:23.1869575Z           "complete": true,
2026-06-02T10:47:23.1869864Z           "evidence": [
2026-06-02T10:47:23.1870137Z             {
2026-06-02T10:47:23.1870447Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-02T10:47:23.1870811Z               "line": 173
2026-06-02T10:47:23.1871075Z             }
2026-06-02T10:47:23.1871319Z           ]
2026-06-02T10:47:23.1871561Z         },
2026-06-02T10:47:23.1871807Z         "unit": {
2026-06-02T10:47:23.1872082Z           "complete": true,
2026-06-02T10:47:23.1872372Z           "evidence": [
2026-06-02T10:47:23.1872643Z             {
2026-06-02T10:47:23.1872953Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-02T10:47:23.1873305Z               "line": 117
2026-06-02T10:47:23.1873582Z             },
2026-06-02T10:47:23.1873831Z             {
2026-06-02T10:47:23.1874139Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.1874489Z               "line": 298
2026-06-02T10:47:23.1874750Z             }
2026-06-02T10:47:23.1874988Z           ]
2026-06-02T10:47:23.1875224Z         }
2026-06-02T10:47:23.1875462Z       }
2026-06-02T10:47:23.1875696Z     },
2026-06-02T10:47:23.1875925Z     {
2026-06-02T10:47:23.1876181Z       "id": "REQ-ARCH-1",
2026-06-02T10:47:23.1876527Z       "title": "Many small acyclically-layered crates",
2026-06-02T10:47:23.1876887Z       "requiredStages": [
2026-06-02T10:47:23.1877160Z         "impl"
2026-06-02T10:47:23.1877625Z       ],
2026-06-02T10:47:23.1877872Z       "stages": {
2026-06-02T10:47:23.1878141Z         "doc": {
2026-06-02T10:47:23.1878409Z           "complete": false,
2026-06-02T10:47:23.1878704Z           "evidence": []
2026-06-02T10:47:23.1879155Z         },
2026-06-02T10:47:23.1879395Z         "impl": {
2026-06-02T10:47:23.1879782Z           "complete": true,
2026-06-02T10:47:23.1880070Z           "evidence": [
2026-06-02T10:47:23.1880336Z             {
2026-06-02T10:47:23.1880640Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-02T10:47:23.1880983Z               "line": 16
2026-06-02T10:47:23.1881247Z             },
2026-06-02T10:47:23.1881488Z             {
2026-06-02T10:47:23.1881787Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-02T10:47:23.1882128Z               "line": 12
2026-06-02T10:47:23.1882391Z             },
2026-06-02T10:47:23.1882640Z             {
2026-06-02T10:47:23.1882926Z               "path": "crates/spt-store/src/lib.rs",
2026-06-02T10:47:23.1883265Z               "line": 12
2026-06-02T10:47:23.1883528Z             }
2026-06-02T10:47:23.1883766Z           ]
2026-06-02T10:47:23.1884004Z         },
2026-06-02T10:47:23.1884242Z         "int": {
2026-06-02T10:47:23.1884505Z           "complete": false,
2026-06-02T10:47:23.1884809Z           "evidence": []
2026-06-02T10:47:23.1885084Z         },
2026-06-02T10:47:23.1885328Z         "unit": {
2026-06-02T10:47:23.1885594Z           "complete": false,
2026-06-02T10:47:23.1885879Z           "evidence": []
2026-06-02T10:47:23.1886142Z         }
2026-06-02T10:47:23.1886378Z       }
2026-06-02T10:47:23.1886605Z     },
2026-06-02T10:47:23.1886835Z     {
2026-06-02T10:47:23.1887084Z       "id": "REQ-ARCH-2",
2026-06-02T10:47:23.1887705Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-02T10:47:23.1888164Z       "requiredStages": [
2026-06-02T10:47:23.1888450Z         "impl"
2026-06-02T10:47:23.1888697Z       ],
2026-06-02T10:47:23.1888936Z       "stages": {
2026-06-02T10:47:23.1889192Z         "doc": {
2026-06-02T10:47:23.1889458Z           "complete": false,
2026-06-02T10:47:23.1889765Z           "evidence": []
2026-06-02T10:47:23.1890036Z         },
2026-06-02T10:47:23.1890280Z         "impl": {
2026-06-02T10:47:23.1890558Z           "complete": true,
2026-06-02T10:47:23.1890845Z           "evidence": [
2026-06-02T10:47:23.1891124Z             {
2026-06-02T10:47:23.1891435Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-02T10:47:23.1891793Z               "line": 18
2026-06-02T10:47:23.1892062Z             }
2026-06-02T10:47:23.1892303Z           ]
2026-06-02T10:47:23.1892536Z         },
2026-06-02T10:47:23.1892782Z         "int": {
2026-06-02T10:47:23.1893051Z           "complete": false,
2026-06-02T10:47:23.1893350Z           "evidence": []
2026-06-02T10:47:23.1893618Z         },
2026-06-02T10:47:23.1893853Z         "unit": {
2026-06-02T10:47:23.1894117Z           "complete": false,
2026-06-02T10:47:23.1894410Z           "evidence": []
2026-06-02T10:47:23.1894680Z         }
2026-06-02T10:47:23.1894919Z       }
2026-06-02T10:47:23.1895138Z     },
2026-06-02T10:47:23.1895364Z     {
2026-06-02T10:47:23.1895618Z       "id": "REQ-ARCH-3",
2026-06-02T10:47:23.1896074Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-02T10:47:23.1896553Z       "requiredStages": [
2026-06-02T10:47:23.1896832Z         "impl",
2026-06-02T10:47:23.1897085Z         "unit"
2026-06-02T10:47:23.1897444Z       ],
2026-06-02T10:47:23.1897693Z       "stages": {
2026-06-02T10:47:23.1897952Z         "doc": {
2026-06-02T10:47:23.1898221Z           "complete": false,
2026-06-02T10:47:23.1898520Z           "evidence": []
2026-06-02T10:47:23.1898786Z         },
2026-06-02T10:47:23.1899024Z         "impl": {
2026-06-02T10:47:23.1899282Z           "complete": true,
2026-06-02T10:47:23.1899570Z           "evidence": [
2026-06-02T10:47:23.1899836Z             {
2026-06-02T10:47:23.1900149Z               "path": "crates/spt-proto/src/version.rs",
2026-06-02T10:47:23.1900500Z               "line": 34
2026-06-02T10:47:23.1900759Z             },
2026-06-02T10:47:23.1901004Z             {
2026-06-02T10:47:23.1901298Z               "path": "crates/spt-proto/src/version.rs",
2026-06-02T10:47:23.1901647Z               "line": 41
2026-06-02T10:47:23.1902084Z             }
2026-06-02T10:47:23.1902438Z           ]
2026-06-02T10:47:23.1902677Z         },
2026-06-02T10:47:23.1902917Z         "int": {
2026-06-02T10:47:23.1903187Z           "complete": false,
2026-06-02T10:47:23.1903481Z           "evidence": []
2026-06-02T10:47:23.1903745Z         },
2026-06-02T10:47:23.1903975Z         "unit": {
2026-06-02T10:47:23.1904234Z           "complete": true,
2026-06-02T10:47:23.1904517Z           "evidence": [
2026-06-02T10:47:23.1904779Z             {
2026-06-02T10:47:23.1905086Z               "path": "crates/spt-proto/src/version.rs",
2026-06-02T10:47:23.1905431Z               "line": 51
2026-06-02T10:47:23.1905689Z             },
2026-06-02T10:47:23.1905928Z             {
2026-06-02T10:47:23.1906222Z               "path": "crates/spt-proto/src/version.rs",
2026-06-02T10:47:23.1906553Z               "line": 65
2026-06-02T10:47:23.1906810Z             },
2026-06-02T10:47:23.1907053Z             {
2026-06-02T10:47:23.1907480Z               "path": "crates/spt-proto/src/version.rs",
2026-06-02T10:47:23.1907838Z               "line": 74
2026-06-02T10:47:23.1908093Z             }
2026-06-02T10:47:23.1908326Z           ]
2026-06-02T10:47:23.1908557Z         }
2026-06-02T10:47:23.1908786Z       }
2026-06-02T10:47:23.1909012Z     },
2026-06-02T10:47:23.1909231Z     {
2026-06-02T10:47:23.1909483Z       "id": "REQ-ARCH-4",
2026-06-02T10:47:23.1909904Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-02T10:47:23.1910332Z       "requiredStages": [
2026-06-02T10:47:23.1910609Z         "impl",
2026-06-02T10:47:23.1910859Z         "unit"
2026-06-02T10:47:23.1911103Z       ],
2026-06-02T10:47:23.1911342Z       "stages": {
2026-06-02T10:47:23.1911594Z         "doc": {
2026-06-02T10:47:23.1911860Z           "complete": false,
2026-06-02T10:47:23.1912153Z           "evidence": []
2026-06-02T10:47:23.1912426Z         },
2026-06-02T10:47:23.1912667Z         "impl": {
2026-06-02T10:47:23.1912935Z           "complete": true,
2026-06-02T10:47:23.1913236Z           "evidence": [
2026-06-02T10:47:23.1913519Z             {
2026-06-02T10:47:23.1913821Z               "path": "crates/spt-proto/src/event.rs",
2026-06-02T10:47:23.1914167Z               "line": 32
2026-06-02T10:47:23.1914432Z             },
2026-06-02T10:47:23.1914682Z             {
2026-06-02T10:47:23.1914982Z               "path": "crates/spt-proto/src/event.rs",
2026-06-02T10:47:23.1915319Z               "line": 46
2026-06-02T10:47:23.1915582Z             },
2026-06-02T10:47:23.1915822Z             {
2026-06-02T10:47:23.1916112Z               "path": "crates/spt-proto/src/event.rs",
2026-06-02T10:47:23.1916446Z               "line": 66
2026-06-02T10:47:23.1916705Z             },
2026-06-02T10:47:23.1916946Z             {
2026-06-02T10:47:23.1917240Z               "path": "crates/spt-proto/src/event.rs",
2026-06-02T10:47:23.1917697Z               "line": 81
2026-06-02T10:47:23.1917963Z             },
2026-06-02T10:47:23.1918201Z             {
2026-06-02T10:47:23.1918511Z               "path": "crates/spt-proto/src/event.rs",
2026-06-02T10:47:23.1918880Z               "line": 131
2026-06-02T10:47:23.1919152Z             }
2026-06-02T10:47:23.1919393Z           ]
2026-06-02T10:47:23.1919630Z         },
2026-06-02T10:47:23.1919864Z         "int": {
2026-06-02T10:47:23.1920135Z           "complete": false,
2026-06-02T10:47:23.1920433Z           "evidence": []
2026-06-02T10:47:23.1920701Z         },
2026-06-02T10:47:23.1920938Z         "unit": {
2026-06-02T10:47:23.1921208Z           "complete": true,
2026-06-02T10:47:23.1921500Z           "evidence": [
2026-06-02T10:47:23.1921767Z             {
2026-06-02T10:47:23.1922076Z               "path": "crates/spt-proto/src/event.rs",
2026-06-02T10:47:23.1922420Z               "line": 195
2026-06-02T10:47:23.1922688Z             },
2026-06-02T10:47:23.1922929Z             {
2026-06-02T10:47:23.1923218Z               "path": "crates/spt-proto/src/event.rs",
2026-06-02T10:47:23.1923552Z               "line": 205
2026-06-02T10:47:23.1923967Z             },
2026-06-02T10:47:23.1924211Z             {
2026-06-02T10:47:23.1924631Z               "path": "crates/spt-proto/src/event.rs",
2026-06-02T10:47:23.1924967Z               "line": 216
2026-06-02T10:47:23.1925237Z             },
2026-06-02T10:47:23.1925479Z             {
2026-06-02T10:47:23.1925766Z               "path": "crates/spt-proto/src/event.rs",
2026-06-02T10:47:23.1926093Z               "line": 227
2026-06-02T10:47:23.1926359Z             },
2026-06-02T10:47:23.1926606Z             {
2026-06-02T10:47:23.1926907Z               "path": "crates/spt-proto/src/event.rs",
2026-06-02T10:47:23.1927239Z               "line": 239
2026-06-02T10:47:23.1927628Z             },
2026-06-02T10:47:23.1927871Z             {
2026-06-02T10:47:23.1928157Z               "path": "crates/spt-proto/src/event.rs",
2026-06-02T10:47:23.1928487Z               "line": 252
2026-06-02T10:47:23.1928749Z             },
2026-06-02T10:47:23.1928991Z             {
2026-06-02T10:47:23.1929281Z               "path": "crates/spt-proto/src/event.rs",
2026-06-02T10:47:23.1929635Z               "line": 263
2026-06-02T10:47:23.1929904Z             },
2026-06-02T10:47:23.1930142Z             {
2026-06-02T10:47:23.1930433Z               "path": "crates/spt-proto/src/event.rs",
2026-06-02T10:47:23.1930769Z               "line": 277
2026-06-02T10:47:23.1931031Z             },
2026-06-02T10:47:23.1931272Z             {
2026-06-02T10:47:23.1931558Z               "path": "crates/spt-proto/src/event.rs",
2026-06-02T10:47:23.1931897Z               "line": 286
2026-06-02T10:47:23.1932155Z             }
2026-06-02T10:47:23.1932394Z           ]
2026-06-02T10:47:23.1932630Z         }
2026-06-02T10:47:23.1932869Z       }
2026-06-02T10:47:23.1933098Z     },
2026-06-02T10:47:23.1933330Z     {
2026-06-02T10:47:23.1933585Z       "id": "REQ-DAEMON-1",
2026-06-02T10:47:23.1933991Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-02T10:47:23.1934419Z       "requiredStages": [],
2026-06-02T10:47:23.1934743Z       "stages": {
2026-06-02T10:47:23.1935010Z         "doc": {
2026-06-02T10:47:23.1935290Z           "complete": false,
2026-06-02T10:47:23.1935590Z           "evidence": []
2026-06-02T10:47:23.1935861Z         },
2026-06-02T10:47:23.1936102Z         "impl": {
2026-06-02T10:47:23.1936373Z           "complete": false,
2026-06-02T10:47:23.1936692Z           "evidence": []
2026-06-02T10:47:23.1936964Z         },
2026-06-02T10:47:23.1937205Z         "int": {
2026-06-02T10:47:23.1937575Z           "complete": false,
2026-06-02T10:47:23.1937879Z           "evidence": []
2026-06-02T10:47:23.1938145Z         },
2026-06-02T10:47:23.1938384Z         "unit": {
2026-06-02T10:47:23.1938649Z           "complete": false,
2026-06-02T10:47:23.1938939Z           "evidence": []
2026-06-02T10:47:23.1939211Z         }
2026-06-02T10:47:23.1939446Z       }
2026-06-02T10:47:23.1939676Z     },
2026-06-02T10:47:23.1939909Z     {
2026-06-02T10:47:23.1940163Z       "id": "REQ-DAEMON-2",
2026-06-02T10:47:23.1940533Z       "title": "Broker/brain split for seamless self-update",
2026-06-02T10:47:23.1940955Z       "requiredStages": [],
2026-06-02T10:47:23.1941244Z       "stages": {
2026-06-02T10:47:23.1941502Z         "doc": {
2026-06-02T10:47:23.1941764Z           "complete": false,
2026-06-02T10:47:23.1942051Z           "evidence": []
2026-06-02T10:47:23.1942324Z         },
2026-06-02T10:47:23.1942572Z         "impl": {
2026-06-02T10:47:23.1942841Z           "complete": false,
2026-06-02T10:47:23.1943136Z           "evidence": []
2026-06-02T10:47:23.1943410Z         },
2026-06-02T10:47:23.1943655Z         "int": {
2026-06-02T10:47:23.1943926Z           "complete": false,
2026-06-02T10:47:23.1944213Z           "evidence": []
2026-06-02T10:47:23.1944481Z         },
2026-06-02T10:47:23.1944721Z         "unit": {
2026-06-02T10:47:23.1944987Z           "complete": false,
2026-06-02T10:47:23.1945280Z           "evidence": []
2026-06-02T10:47:23.1945554Z         }
2026-06-02T10:47:23.1945787Z       }
2026-06-02T10:47:23.1946026Z     },
2026-06-02T10:47:23.1946470Z     {
2026-06-02T10:47:23.1946724Z       "id": "REQ-DAEMON-3",
2026-06-02T10:47:23.1947241Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-02T10:47:23.1947771Z       "requiredStages": [],
2026-06-02T10:47:23.1948063Z       "stages": {
2026-06-02T10:47:23.1948322Z         "doc": {
2026-06-02T10:47:23.1948590Z           "complete": false,
2026-06-02T10:47:23.1948889Z           "evidence": []
2026-06-02T10:47:23.1949169Z         },
2026-06-02T10:47:23.1949417Z         "impl": {
2026-06-02T10:47:23.1949688Z           "complete": false,
2026-06-02T10:47:23.1949985Z           "evidence": []
2026-06-02T10:47:23.1950256Z         },
2026-06-02T10:47:23.1950496Z         "int": {
2026-06-02T10:47:23.1950764Z           "complete": false,
2026-06-02T10:47:23.1951052Z           "evidence": []
2026-06-02T10:47:23.1951316Z         },
2026-06-02T10:47:23.1951565Z         "unit": {
2026-06-02T10:47:23.1951835Z           "complete": false,
2026-06-02T10:47:23.1952121Z           "evidence": []
2026-06-02T10:47:23.1952398Z         }
2026-06-02T10:47:23.1952644Z       }
2026-06-02T10:47:23.1952878Z     },
2026-06-02T10:47:23.1953111Z     {
2026-06-02T10:47:23.1953359Z       "id": "REQ-DAEMON-4",
2026-06-02T10:47:23.1953695Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-02T10:47:23.1954067Z       "requiredStages": [],
2026-06-02T10:47:23.1954352Z       "stages": {
2026-06-02T10:47:23.1954605Z         "doc": {
2026-06-02T10:47:23.1954869Z           "complete": false,
2026-06-02T10:47:23.1955160Z           "evidence": []
2026-06-02T10:47:23.1955429Z         },
2026-06-02T10:47:23.1955673Z         "impl": {
2026-06-02T10:47:23.1955938Z           "complete": false,
2026-06-02T10:47:23.1956224Z           "evidence": []
2026-06-02T10:47:23.1956502Z         },
2026-06-02T10:47:23.1956745Z         "int": {
2026-06-02T10:47:23.1957005Z           "complete": false,
2026-06-02T10:47:23.1957296Z           "evidence": []
2026-06-02T10:47:23.1957682Z         },
2026-06-02T10:47:23.1957924Z         "unit": {
2026-06-02T10:47:23.1958201Z           "complete": false,
2026-06-02T10:47:23.1958501Z           "evidence": []
2026-06-02T10:47:23.1958776Z         }
2026-06-02T10:47:23.1959011Z       }
2026-06-02T10:47:23.1959239Z     },
2026-06-02T10:47:23.1959473Z     {
2026-06-02T10:47:23.1959731Z       "id": "REQ-DOCS-1",
2026-06-02T10:47:23.1960176Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-02T10:47:23.1960648Z       "requiredStages": [],
2026-06-02T10:47:23.1960935Z       "stages": {
2026-06-02T10:47:23.1961192Z         "doc": {
2026-06-02T10:47:23.1961465Z           "complete": false,
2026-06-02T10:47:23.1961754Z           "evidence": []
2026-06-02T10:47:23.1962020Z         },
2026-06-02T10:47:23.1962265Z         "impl": {
2026-06-02T10:47:23.1962529Z           "complete": false,
2026-06-02T10:47:23.1962819Z           "evidence": []
2026-06-02T10:47:23.1963084Z         },
2026-06-02T10:47:23.1963325Z         "int": {
2026-06-02T10:47:23.1963593Z           "complete": false,
2026-06-02T10:47:23.1963897Z           "evidence": []
2026-06-02T10:47:23.1964166Z         },
2026-06-02T10:47:23.1964409Z         "unit": {
2026-06-02T10:47:23.1964677Z           "complete": false,
2026-06-02T10:47:23.1964966Z           "evidence": []
2026-06-02T10:47:23.1965231Z         }
2026-06-02T10:47:23.1965466Z       }
2026-06-02T10:47:23.1965707Z     },
2026-06-02T10:47:23.1965949Z     {
2026-06-02T10:47:23.1966204Z       "id": "REQ-DOCS-2",
2026-06-02T10:47:23.1966595Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-02T10:47:23.1967013Z       "requiredStages": [],
2026-06-02T10:47:23.1967298Z       "stages": {
2026-06-02T10:47:23.1967660Z         "doc": {
2026-06-02T10:47:23.1967927Z           "complete": false,
2026-06-02T10:47:23.1968212Z           "evidence": []
2026-06-02T10:47:23.1968480Z         },
2026-06-02T10:47:23.1968731Z         "impl": {
2026-06-02T10:47:23.1968998Z           "complete": false,
2026-06-02T10:47:23.1969286Z           "evidence": []
2026-06-02T10:47:23.1969712Z         },
2026-06-02T10:47:23.1970078Z         "int": {
2026-06-02T10:47:23.1970345Z           "complete": false,
2026-06-02T10:47:23.1970626Z           "evidence": []
2026-06-02T10:47:23.1970891Z         },
2026-06-02T10:47:23.1971132Z         "unit": {
2026-06-02T10:47:23.1971401Z           "complete": false,
2026-06-02T10:47:23.1971687Z           "evidence": []
2026-06-02T10:47:23.1971948Z         }
2026-06-02T10:47:23.1972183Z       }
2026-06-02T10:47:23.1972417Z     },
2026-06-02T10:47:23.1972649Z     {
2026-06-02T10:47:23.1972901Z       "id": "REQ-DOCS-3",
2026-06-02T10:47:23.1973576Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-02T10:47:23.1974012Z       "requiredStages": [],
2026-06-02T10:47:23.1974302Z       "stages": {
2026-06-02T10:47:23.1974556Z         "doc": {
2026-06-02T10:47:23.1974824Z           "complete": false,
2026-06-02T10:47:23.1975119Z           "evidence": []
2026-06-02T10:47:23.1975388Z         },
2026-06-02T10:47:23.1975655Z         "impl": {
2026-06-02T10:47:23.1975923Z           "complete": false,
2026-06-02T10:47:23.1976231Z           "evidence": []
2026-06-02T10:47:23.1976502Z         },
2026-06-02T10:47:23.1976738Z         "int": {
2026-06-02T10:47:23.1977003Z           "complete": false,
2026-06-02T10:47:23.1977292Z           "evidence": []
2026-06-02T10:47:23.1977671Z         },
2026-06-02T10:47:23.1977910Z         "unit": {
2026-06-02T10:47:23.1978180Z           "complete": false,
2026-06-02T10:47:23.1978471Z           "evidence": []
2026-06-02T10:47:23.1978738Z         }
2026-06-02T10:47:23.1978984Z       }
2026-06-02T10:47:23.1979219Z     },
2026-06-02T10:47:23.1979454Z     {
2026-06-02T10:47:23.1979701Z       "id": "REQ-DOCS-4",
2026-06-02T10:47:23.1980145Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-02T10:47:23.1980610Z       "requiredStages": [],
2026-06-02T10:47:23.1980899Z       "stages": {
2026-06-02T10:47:23.1981156Z         "doc": {
2026-06-02T10:47:23.1981440Z           "complete": false,
2026-06-02T10:47:23.1981735Z           "evidence": []
2026-06-02T10:47:23.1982004Z         },
2026-06-02T10:47:23.1982244Z         "impl": {
2026-06-02T10:47:23.1982505Z           "complete": false,
2026-06-02T10:47:23.1982794Z           "evidence": []
2026-06-02T10:47:23.1983055Z         },
2026-06-02T10:47:23.1983305Z         "int": {
2026-06-02T10:47:23.1983575Z           "complete": false,
2026-06-02T10:47:23.1983865Z           "evidence": []
2026-06-02T10:47:23.1984133Z         },
2026-06-02T10:47:23.1984374Z         "unit": {
2026-06-02T10:47:23.1984639Z           "complete": false,
2026-06-02T10:47:23.1984936Z           "evidence": []
2026-06-02T10:47:23.1985201Z         }
2026-06-02T10:47:23.1985437Z       }
2026-06-02T10:47:23.1985672Z     },
2026-06-02T10:47:23.1985902Z     {
2026-06-02T10:47:23.1986161Z       "id": "REQ-DOCS-5",
2026-06-02T10:47:23.1986597Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-02T10:47:23.1987063Z       "requiredStages": [],
2026-06-02T10:47:23.1987467Z       "stages": {
2026-06-02T10:47:23.1987755Z         "doc": {
2026-06-02T10:47:23.1988025Z           "complete": false,
2026-06-02T10:47:23.1988316Z           "evidence": []
2026-06-02T10:47:23.1988583Z         },
2026-06-02T10:47:23.1988831Z         "impl": {
2026-06-02T10:47:23.1989089Z           "complete": false,
2026-06-02T10:47:23.1989377Z           "evidence": []
2026-06-02T10:47:23.1989644Z         },
2026-06-02T10:47:23.1989885Z         "int": {
2026-06-02T10:47:23.1990152Z           "complete": false,
2026-06-02T10:47:23.1990440Z           "evidence": []
2026-06-02T10:47:23.1990703Z         },
2026-06-02T10:47:23.1990946Z         "unit": {
2026-06-02T10:47:23.1991216Z           "complete": false,
2026-06-02T10:47:23.1991505Z           "evidence": []
2026-06-02T10:47:23.1991766Z         }
2026-06-02T10:47:23.1991998Z       }
2026-06-02T10:47:23.1992230Z     },
2026-06-02T10:47:23.1992463Z     {
2026-06-02T10:47:23.1992711Z       "id": "REQ-EP-1",
2026-06-02T10:47:23.1993283Z       "title": "Day-one endpoint types; open type system",
2026-06-02T10:47:23.1993793Z       "requiredStages": [
2026-06-02T10:47:23.1994086Z         "impl",
2026-06-02T10:47:23.1994344Z         "unit"
2026-06-02T10:47:23.1994593Z       ],
2026-06-02T10:47:23.1994835Z       "stages": {
2026-06-02T10:47:23.1995089Z         "doc": {
2026-06-02T10:47:23.1995360Z           "complete": false,
2026-06-02T10:47:23.1995656Z           "evidence": []
2026-06-02T10:47:23.1995928Z         },
2026-06-02T10:47:23.1996176Z         "impl": {
2026-06-02T10:47:23.1996455Z           "complete": true,
2026-06-02T10:47:23.1996749Z           "evidence": [
2026-06-02T10:47:23.1997015Z             {
2026-06-02T10:47:23.1997435Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-02T10:47:23.1997804Z               "line": 77
2026-06-02T10:47:23.1998080Z             },
2026-06-02T10:47:23.1998330Z             {
2026-06-02T10:47:23.1998639Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-02T10:47:23.1999012Z               "line": 94
2026-06-02T10:47:23.1999288Z             }
2026-06-02T10:47:23.1999529Z           ]
2026-06-02T10:47:23.1999769Z         },
2026-06-02T10:47:23.2000011Z         "int": {
2026-06-02T10:47:23.2000276Z           "complete": false,
2026-06-02T10:47:23.2000572Z           "evidence": []
2026-06-02T10:47:23.2000836Z         },
2026-06-02T10:47:23.2001079Z         "unit": {
2026-06-02T10:47:23.2001357Z           "complete": true,
2026-06-02T10:47:23.2001646Z           "evidence": [
2026-06-02T10:47:23.2001924Z             {
2026-06-02T10:47:23.2002229Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-02T10:47:23.2002581Z               "line": 161
2026-06-02T10:47:23.2002856Z             },
2026-06-02T10:47:23.2003104Z             {
2026-06-02T10:47:23.2003409Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-02T10:47:23.2003769Z               "line": 178
2026-06-02T10:47:23.2004035Z             }
2026-06-02T10:47:23.2004283Z           ]
2026-06-02T10:47:23.2004530Z         }
2026-06-02T10:47:23.2004774Z       }
2026-06-02T10:47:23.2005015Z     },
2026-06-02T10:47:23.2005249Z     {
2026-06-02T10:47:23.2005500Z       "id": "REQ-EP-2",
2026-06-02T10:47:23.2005892Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-02T10:47:23.2006320Z       "requiredStages": [
2026-06-02T10:47:23.2006599Z         "impl",
2026-06-02T10:47:23.2006859Z         "unit"
2026-06-02T10:47:23.2007105Z       ],
2026-06-02T10:47:23.2007444Z       "stages": {
2026-06-02T10:47:23.2007703Z         "doc": {
2026-06-02T10:47:23.2007969Z           "complete": false,
2026-06-02T10:47:23.2008264Z           "evidence": []
2026-06-02T10:47:23.2008538Z         },
2026-06-02T10:47:23.2008781Z         "impl": {
2026-06-02T10:47:23.2009051Z           "complete": true,
2026-06-02T10:47:23.2009338Z           "evidence": [
2026-06-02T10:47:23.2009607Z             {
2026-06-02T10:47:23.2009906Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-02T10:47:23.2010264Z               "line": 114
2026-06-02T10:47:23.2010540Z             },
2026-06-02T10:47:23.2010782Z             {
2026-06-02T10:47:23.2011096Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-02T10:47:23.2011443Z               "line": 131
2026-06-02T10:47:23.2011714Z             },
2026-06-02T10:47:23.2011963Z             {
2026-06-02T10:47:23.2012263Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-02T10:47:23.2012606Z               "line": 138
2026-06-02T10:47:23.2012872Z             }
2026-06-02T10:47:23.2013116Z           ]
2026-06-02T10:47:23.2013357Z         },
2026-06-02T10:47:23.2013591Z         "int": {
2026-06-02T10:47:23.2013864Z           "complete": false,
2026-06-02T10:47:23.2014160Z           "evidence": []
2026-06-02T10:47:23.2014432Z         },
2026-06-02T10:47:23.2014674Z         "unit": {
2026-06-02T10:47:23.2014937Z           "complete": true,
2026-06-02T10:47:23.2015226Z           "evidence": [
2026-06-02T10:47:23.2015658Z             {
2026-06-02T10:47:23.2015967Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-02T10:47:23.2016451Z               "line": 193
2026-06-02T10:47:23.2016755Z             },
2026-06-02T10:47:23.2017005Z             {
2026-06-02T10:47:23.2017303Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-02T10:47:23.2017765Z               "line": 211
2026-06-02T10:47:23.2018030Z             },
2026-06-02T10:47:23.2018283Z             {
2026-06-02T10:47:23.2018594Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-02T10:47:23.2018939Z               "line": 224
2026-06-02T10:47:23.2019203Z             }
2026-06-02T10:47:23.2019443Z           ]
2026-06-02T10:47:23.2019681Z         }
2026-06-02T10:47:23.2019914Z       }
2026-06-02T10:47:23.2020145Z     },
2026-06-02T10:47:23.2020383Z     {
2026-06-02T10:47:23.2020635Z       "id": "REQ-EP-3",
2026-06-02T10:47:23.2021064Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-02T10:47:23.2021528Z       "requiredStages": [
2026-06-02T10:47:23.2021818Z         "impl",
2026-06-02T10:47:23.2022070Z         "unit"
2026-06-02T10:47:23.2022315Z       ],
2026-06-02T10:47:23.2022555Z       "stages": {
2026-06-02T10:47:23.2022809Z         "doc": {
2026-06-02T10:47:23.2023078Z           "complete": false,
2026-06-02T10:47:23.2023378Z           "evidence": []
2026-06-02T10:47:23.2023653Z         },
2026-06-02T10:47:23.2023894Z         "impl": {
2026-06-02T10:47:23.2024163Z           "complete": true,
2026-06-02T10:47:23.2024458Z           "evidence": [
2026-06-02T10:47:23.2024728Z             {
2026-06-02T10:47:23.2025033Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-02T10:47:23.2025381Z               "line": 31
2026-06-02T10:47:23.2025649Z             },
2026-06-02T10:47:23.2025899Z             {
2026-06-02T10:47:23.2026201Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-02T10:47:23.2026547Z               "line": 49
2026-06-02T10:47:23.2026824Z             }
2026-06-02T10:47:23.2027066Z           ]
2026-06-02T10:47:23.2027433Z         },
2026-06-02T10:47:23.2027675Z         "int": {
2026-06-02T10:47:23.2027945Z           "complete": false,
2026-06-02T10:47:23.2028250Z           "evidence": []
2026-06-02T10:47:23.2028530Z         },
2026-06-02T10:47:23.2028771Z         "unit": {
2026-06-02T10:47:23.2029039Z           "complete": true,
2026-06-02T10:47:23.2029330Z           "evidence": [
2026-06-02T10:47:23.2029591Z             {
2026-06-02T10:47:23.2029895Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-02T10:47:23.2030248Z               "line": 156
2026-06-02T10:47:23.2047180Z             },
2026-06-02T10:47:23.2047608Z             {
2026-06-02T10:47:23.2047940Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-02T10:47:23.2048321Z               "line": 164
2026-06-02T10:47:23.2048600Z             },
2026-06-02T10:47:23.2048853Z             {
2026-06-02T10:47:23.2049155Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-02T10:47:23.2049536Z               "line": 177
2026-06-02T10:47:23.2049817Z             },
2026-06-02T10:47:23.2050064Z             {
2026-06-02T10:47:23.2050380Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-02T10:47:23.2050737Z               "line": 197
2026-06-02T10:47:23.2051011Z             },
2026-06-02T10:47:23.2051258Z             {
2026-06-02T10:47:23.2051564Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-02T10:47:23.2051911Z               "line": 213
2026-06-02T10:47:23.2052175Z             },
2026-06-02T10:47:23.2052420Z             {
2026-06-02T10:47:23.2052724Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-02T10:47:23.2053060Z               "line": 227
2026-06-02T10:47:23.2053324Z             }
2026-06-02T10:47:23.2053563Z           ]
2026-06-02T10:47:23.2053805Z         }
2026-06-02T10:47:23.2054041Z       }
2026-06-02T10:47:23.2054272Z     },
2026-06-02T10:47:23.2054504Z     {
2026-06-02T10:47:23.2054754Z       "id": "REQ-EP-4",
2026-06-02T10:47:23.2055351Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-02T10:47:23.2055866Z       "requiredStages": [],
2026-06-02T10:47:23.2056162Z       "stages": {
2026-06-02T10:47:23.2056424Z         "doc": {
2026-06-02T10:47:23.2056696Z           "complete": false,
2026-06-02T10:47:23.2056993Z           "evidence": []
2026-06-02T10:47:23.2057262Z         },
2026-06-02T10:47:23.2057620Z         "impl": {
2026-06-02T10:47:23.2057894Z           "complete": false,
2026-06-02T10:47:23.2058195Z           "evidence": []
2026-06-02T10:47:23.2058463Z         },
2026-06-02T10:47:23.2058701Z         "int": {
2026-06-02T10:47:23.2058966Z           "complete": false,
2026-06-02T10:47:23.2059255Z           "evidence": []
2026-06-02T10:47:23.2059517Z         },
2026-06-02T10:47:23.2059754Z         "unit": {
2026-06-02T10:47:23.2060016Z           "complete": false,
2026-06-02T10:47:23.2060307Z           "evidence": []
2026-06-02T10:47:23.2060568Z         }
2026-06-02T10:47:23.2060815Z       }
2026-06-02T10:47:23.2061044Z     },
2026-06-02T10:47:23.2061286Z     {
2026-06-02T10:47:23.2061536Z       "id": "REQ-FRONT-1",
2026-06-02T10:47:23.2061943Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-02T10:47:23.2062377Z       "requiredStages": [],
2026-06-02T10:47:23.2062689Z       "stages": {
2026-06-02T10:47:23.2062952Z         "doc": {
2026-06-02T10:47:23.2063212Z           "complete": false,
2026-06-02T10:47:23.2063499Z           "evidence": []
2026-06-02T10:47:23.2063764Z         },
2026-06-02T10:47:23.2064001Z         "impl": {
2026-06-02T10:47:23.2064259Z           "complete": false,
2026-06-02T10:47:23.2064543Z           "evidence": []
2026-06-02T10:47:23.2064810Z         },
2026-06-02T10:47:23.2065048Z         "int": {
2026-06-02T10:47:23.2065311Z           "complete": false,
2026-06-02T10:47:23.2065592Z           "evidence": []
2026-06-02T10:47:23.2065854Z         },
2026-06-02T10:47:23.2066088Z         "unit": {
2026-06-02T10:47:23.2066356Z           "complete": false,
2026-06-02T10:47:23.2066638Z           "evidence": []
2026-06-02T10:47:23.2066903Z         }
2026-06-02T10:47:23.2067138Z       }
2026-06-02T10:47:23.2067579Z     },
2026-06-02T10:47:23.2067820Z     {
2026-06-02T10:47:23.2068107Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-02T10:47:23.2068564Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-02T10:47:23.2068999Z       "requiredStages": [
2026-06-02T10:47:23.2069277Z         "impl",
2026-06-02T10:47:23.2069529Z         "unit"
2026-06-02T10:47:23.2069772Z       ],
2026-06-02T10:47:23.2070009Z       "stages": {
2026-06-02T10:47:23.2070267Z         "doc": {
2026-06-02T10:47:23.2070523Z           "complete": false,
2026-06-02T10:47:23.2070815Z           "evidence": []
2026-06-02T10:47:23.2071083Z         },
2026-06-02T10:47:23.2071321Z         "impl": {
2026-06-02T10:47:23.2071574Z           "complete": true,
2026-06-02T10:47:23.2071856Z           "evidence": [
2026-06-02T10:47:23.2072132Z             {
2026-06-02T10:47:23.2072434Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.2072802Z               "line": 60
2026-06-02T10:47:23.2073065Z             },
2026-06-02T10:47:23.2073310Z             {
2026-06-02T10:47:23.2073603Z               "path": "crates/spt/src/api/worker.rs",
2026-06-02T10:47:23.2073945Z               "line": 18
2026-06-02T10:47:23.2074207Z             },
2026-06-02T10:47:23.2074444Z             {
2026-06-02T10:47:23.2074727Z               "path": "crates/spt/src/api/worker.rs",
2026-06-02T10:47:23.2075069Z               "line": 94
2026-06-02T10:47:23.2075331Z             }
2026-06-02T10:47:23.2075567Z           ]
2026-06-02T10:47:23.2075802Z         },
2026-06-02T10:47:23.2076040Z         "int": {
2026-06-02T10:47:23.2076307Z           "complete": false,
2026-06-02T10:47:23.2076589Z           "evidence": []
2026-06-02T10:47:23.2076852Z         },
2026-06-02T10:47:23.2077085Z         "unit": {
2026-06-02T10:47:23.2077455Z           "complete": true,
2026-06-02T10:47:23.2077903Z           "evidence": [
2026-06-02T10:47:23.2078294Z             {
2026-06-02T10:47:23.2078584Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.2078934Z               "line": 265
2026-06-02T10:47:23.2079204Z             },
2026-06-02T10:47:23.2079443Z             {
2026-06-02T10:47:23.2079728Z               "path": "crates/spt/src/api/worker.rs",
2026-06-02T10:47:23.2080072Z               "line": 152
2026-06-02T10:47:23.2080340Z             },
2026-06-02T10:47:23.2080579Z             {
2026-06-02T10:47:23.2080857Z               "path": "crates/spt/src/api/worker.rs",
2026-06-02T10:47:23.2081186Z               "line": 188
2026-06-02T10:47:23.2081447Z             }
2026-06-02T10:47:23.2081687Z           ]
2026-06-02T10:47:23.2081922Z         }
2026-06-02T10:47:23.2082160Z       }
2026-06-02T10:47:23.2082400Z     },
2026-06-02T10:47:23.2082626Z     {
2026-06-02T10:47:23.2082887Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-02T10:47:23.2083390Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-02T10:47:23.2083902Z       "requiredStages": [
2026-06-02T10:47:23.2084179Z         "impl",
2026-06-02T10:47:23.2084429Z         "unit"
2026-06-02T10:47:23.2084670Z       ],
2026-06-02T10:47:23.2084918Z       "stages": {
2026-06-02T10:47:23.2085172Z         "doc": {
2026-06-02T10:47:23.2085433Z           "complete": false,
2026-06-02T10:47:23.2085722Z           "evidence": []
2026-06-02T10:47:23.2085985Z         },
2026-06-02T10:47:23.2086225Z         "impl": {
2026-06-02T10:47:23.2086484Z           "complete": true,
2026-06-02T10:47:23.2086771Z           "evidence": [
2026-06-02T10:47:23.2087033Z             {
2026-06-02T10:47:23.2087581Z               "path": "crates/spt-term/src/reader.rs",
2026-06-02T10:47:23.2088006Z               "line": 164
2026-06-02T10:47:23.2088284Z             }
2026-06-02T10:47:23.2088538Z           ]
2026-06-02T10:47:23.2088775Z         },
2026-06-02T10:47:23.2089014Z         "int": {
2026-06-02T10:47:23.2089296Z           "complete": true,
2026-06-02T10:47:23.2089594Z           "evidence": [
2026-06-02T10:47:23.2089859Z             {
2026-06-02T10:47:23.2090164Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-02T10:47:23.2090511Z               "line": 44
2026-06-02T10:47:23.2090781Z             },
2026-06-02T10:47:23.2091025Z             {
2026-06-02T10:47:23.2091306Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-02T10:47:23.2091643Z               "line": 66
2026-06-02T10:47:23.2091910Z             }
2026-06-02T10:47:23.2092150Z           ]
2026-06-02T10:47:23.2092398Z         },
2026-06-02T10:47:23.2092637Z         "unit": {
2026-06-02T10:47:23.2092899Z           "complete": true,
2026-06-02T10:47:23.2093184Z           "evidence": [
2026-06-02T10:47:23.2093446Z             {
2026-06-02T10:47:23.2093744Z               "path": "crates/spt-term/src/reader.rs",
2026-06-02T10:47:23.2094086Z               "line": 181
2026-06-02T10:47:23.2094362Z             },
2026-06-02T10:47:23.2094613Z             {
2026-06-02T10:47:23.2094921Z               "path": "crates/spt-term/src/reader.rs",
2026-06-02T10:47:23.2095254Z               "line": 233
2026-06-02T10:47:23.2095518Z             },
2026-06-02T10:47:23.2095758Z             {
2026-06-02T10:47:23.2096039Z               "path": "crates/spt-term/src/reader.rs",
2026-06-02T10:47:23.2096373Z               "line": 261
2026-06-02T10:47:23.2096647Z             }
2026-06-02T10:47:23.2096883Z           ]
2026-06-02T10:47:23.2097119Z         }
2026-06-02T10:47:23.2097459Z       }
2026-06-02T10:47:23.2097694Z     },
2026-06-02T10:47:23.2097928Z     {
2026-06-02T10:47:23.2098222Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-02T10:47:23.2099078Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-02T10:47:23.2099823Z       "requiredStages": [],
2026-06-02T10:47:23.2100108Z       "stages": {
2026-06-02T10:47:23.2100517Z         "doc": {
2026-06-02T10:47:23.2100902Z           "complete": false,
2026-06-02T10:47:23.2101199Z           "evidence": []
2026-06-02T10:47:23.2101479Z         },
2026-06-02T10:47:23.2101721Z         "impl": {
2026-06-02T10:47:23.2101982Z           "complete": false,
2026-06-02T10:47:23.2102270Z           "evidence": []
2026-06-02T10:47:23.2102541Z         },
2026-06-02T10:47:23.2102773Z         "int": {
2026-06-02T10:47:23.2103032Z           "complete": false,
2026-06-02T10:47:23.2103320Z           "evidence": []
2026-06-02T10:47:23.2103580Z         },
2026-06-02T10:47:23.2103817Z         "unit": {
2026-06-02T10:47:23.2104082Z           "complete": false,
2026-06-02T10:47:23.2104361Z           "evidence": []
2026-06-02T10:47:23.2104621Z         }
2026-06-02T10:47:23.2104857Z       }
2026-06-02T10:47:23.2105088Z     },
2026-06-02T10:47:23.2105320Z     {
2026-06-02T10:47:23.2105628Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-02T10:47:23.2106085Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-02T10:47:23.2106544Z       "requiredStages": [
2026-06-02T10:47:23.2106819Z         "impl",
2026-06-02T10:47:23.2107069Z         "unit"
2026-06-02T10:47:23.2107428Z       ],
2026-06-02T10:47:23.2107678Z       "stages": {
2026-06-02T10:47:23.2107936Z         "doc": {
2026-06-02T10:47:23.2108201Z           "complete": false,
2026-06-02T10:47:23.2108496Z           "evidence": []
2026-06-02T10:47:23.2108759Z         },
2026-06-02T10:47:23.2108991Z         "impl": {
2026-06-02T10:47:23.2109255Z           "complete": true,
2026-06-02T10:47:23.2109541Z           "evidence": [
2026-06-02T10:47:23.2109815Z             {
2026-06-02T10:47:23.2110107Z               "path": "crates/spt-store/src/spool.rs",
2026-06-02T10:47:23.2110449Z               "line": 40
2026-06-02T10:47:23.2110715Z             },
2026-06-02T10:47:23.2110953Z             {
2026-06-02T10:47:23.2111242Z               "path": "crates/spt-store/src/spool.rs",
2026-06-02T10:47:23.2111577Z               "line": 88
2026-06-02T10:47:23.2111849Z             },
2026-06-02T10:47:23.2112105Z             {
2026-06-02T10:47:23.2112387Z               "path": "crates/spt-store/src/spool.rs",
2026-06-02T10:47:23.2112723Z               "line": 133
2026-06-02T10:47:23.2112990Z             },
2026-06-02T10:47:23.2113230Z             {
2026-06-02T10:47:23.2113511Z               "path": "crates/spt-store/src/spool.rs",
2026-06-02T10:47:23.2113845Z               "line": 215
2026-06-02T10:47:23.2114110Z             }
2026-06-02T10:47:23.2114351Z           ]
2026-06-02T10:47:23.2114584Z         },
2026-06-02T10:47:23.2114818Z         "int": {
2026-06-02T10:47:23.2115079Z           "complete": false,
2026-06-02T10:47:23.2115363Z           "evidence": []
2026-06-02T10:47:23.2115629Z         },
2026-06-02T10:47:23.2115860Z         "unit": {
2026-06-02T10:47:23.2116119Z           "complete": true,
2026-06-02T10:47:23.2116398Z           "evidence": [
2026-06-02T10:47:23.2116664Z             {
2026-06-02T10:47:23.2116955Z               "path": "crates/spt-store/src/spool.rs",
2026-06-02T10:47:23.2117296Z               "line": 250
2026-06-02T10:47:23.2117988Z             },
2026-06-02T10:47:23.2118240Z             {
2026-06-02T10:47:23.2118526Z               "path": "crates/spt-store/src/spool.rs",
2026-06-02T10:47:23.2118858Z               "line": 296
2026-06-02T10:47:23.2119117Z             },
2026-06-02T10:47:23.2119355Z             {
2026-06-02T10:47:23.2119642Z               "path": "crates/spt-store/src/spool.rs",
2026-06-02T10:47:23.2119971Z               "line": 337
2026-06-02T10:47:23.2120234Z             },
2026-06-02T10:47:23.2120474Z             {
2026-06-02T10:47:23.2120750Z               "path": "crates/spt-store/src/spool.rs",
2026-06-02T10:47:23.2121079Z               "line": 356
2026-06-02T10:47:23.2121333Z             }
2026-06-02T10:47:23.2121567Z           ]
2026-06-02T10:47:23.2121807Z         }
2026-06-02T10:47:23.2122042Z       }
2026-06-02T10:47:23.2122268Z     },
2026-06-02T10:47:23.2122499Z     {
2026-06-02T10:47:23.2122948Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-02T10:47:23.2123518Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-02T10:47:23.2123877Z       "requiredStages": [
2026-06-02T10:47:23.2124145Z         "impl",
2026-06-02T10:47:23.2124259Z         "unit"
2026-06-02T10:47:23.2124369Z       ],
2026-06-02T10:47:23.2124479Z       "stages": {
2026-06-02T10:47:23.2124594Z         "doc": {
2026-06-02T10:47:23.2124715Z           "complete": false,
2026-06-02T10:47:23.2124839Z           "evidence": []
2026-06-02T10:47:23.2124942Z         },
2026-06-02T10:47:23.2125058Z         "impl": {
2026-06-02T10:47:23.2125187Z           "complete": true,
2026-06-02T10:47:23.2125304Z           "evidence": [
2026-06-02T10:47:23.2125422Z             {
2026-06-02T10:47:23.2125574Z               "path": "crates/spt-store/src/spool.rs",
2026-06-02T10:47:23.2125697Z               "line": 101
2026-06-02T10:47:23.2125803Z             },
2026-06-02T10:47:23.2125914Z             {
2026-06-02T10:47:23.2126079Z               "path": "crates/spt-store/src/spool.rs",
2026-06-02T10:47:23.2126203Z               "line": 126
2026-06-02T10:47:23.2126315Z             }
2026-06-02T10:47:23.2126420Z           ]
2026-06-02T10:47:23.2126530Z         },
2026-06-02T10:47:23.2126635Z         "int": {
2026-06-02T10:47:23.2126762Z           "complete": false,
2026-06-02T10:47:23.2126884Z           "evidence": []
2026-06-02T10:47:23.2126990Z         },
2026-06-02T10:47:23.2127102Z         "unit": {
2026-06-02T10:47:23.2127219Z           "complete": true,
2026-06-02T10:47:23.2127470Z           "evidence": [
2026-06-02T10:47:23.2127580Z             {
2026-06-02T10:47:23.2127737Z               "path": "crates/spt-store/src/spool.rs",
2026-06-02T10:47:23.2127859Z               "line": 271
2026-06-02T10:47:23.2127966Z             },
2026-06-02T10:47:23.2128079Z             {
2026-06-02T10:47:23.2128226Z               "path": "crates/spt-store/src/spool.rs",
2026-06-02T10:47:23.2128348Z               "line": 315
2026-06-02T10:47:23.2128465Z             }
2026-06-02T10:47:23.2128577Z           ]
2026-06-02T10:47:23.2128691Z         }
2026-06-02T10:47:23.2128794Z       }
2026-06-02T10:47:23.2128903Z     },
2026-06-02T10:47:23.2129005Z     {
2026-06-02T10:47:23.2129178Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-02T10:47:23.2129479Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-02T10:47:23.2129609Z       "requiredStages": [
2026-06-02T10:47:23.2129723Z         "impl",
2026-06-02T10:47:23.2129831Z         "unit"
2026-06-02T10:47:23.2129939Z       ],
2026-06-02T10:47:23.2130047Z       "stages": {
2026-06-02T10:47:23.2130158Z         "doc": {
2026-06-02T10:47:23.2130276Z           "complete": false,
2026-06-02T10:47:23.2130399Z           "evidence": []
2026-06-02T10:47:23.2130512Z         },
2026-06-02T10:47:23.2130620Z         "impl": {
2026-06-02T10:47:23.2130748Z           "complete": true,
2026-06-02T10:47:23.2130862Z           "evidence": [
2026-06-02T10:47:23.2130978Z             {
2026-06-02T10:47:23.2131138Z               "path": "crates/spt-live/src/context.rs",
2026-06-02T10:47:23.2131271Z               "line": 21
2026-06-02T10:47:23.2131384Z             },
2026-06-02T10:47:23.2131491Z             {
2026-06-02T10:47:23.2131646Z               "path": "crates/spt-live/src/context.rs",
2026-06-02T10:47:23.2131759Z               "line": 152
2026-06-02T10:47:23.2131868Z             }
2026-06-02T10:47:23.2131973Z           ]
2026-06-02T10:47:23.2132087Z         },
2026-06-02T10:47:23.2132200Z         "int": {
2026-06-02T10:47:23.2132318Z           "complete": false,
2026-06-02T10:47:23.2132444Z           "evidence": []
2026-06-02T10:47:23.2132552Z         },
2026-06-02T10:47:23.2132665Z         "unit": {
2026-06-02T10:47:23.2132783Z           "complete": true,
2026-06-02T10:47:23.2132901Z           "evidence": [
2026-06-02T10:47:23.2133011Z             {
2026-06-02T10:47:23.2133164Z               "path": "crates/spt-live/src/context.rs",
2026-06-02T10:47:23.2133426Z               "line": 169
2026-06-02T10:47:23.2133537Z             },
2026-06-02T10:47:23.2133762Z             {
2026-06-02T10:47:23.2133917Z               "path": "crates/spt-live/src/context.rs",
2026-06-02T10:47:23.2134040Z               "line": 176
2026-06-02T10:47:23.2134149Z             },
2026-06-02T10:47:23.2134254Z             {
2026-06-02T10:47:23.2134412Z               "path": "crates/spt-live/src/context.rs",
2026-06-02T10:47:23.2134528Z               "line": 185
2026-06-02T10:47:23.2134640Z             },
2026-06-02T10:47:23.2134743Z             {
2026-06-02T10:47:23.2134898Z               "path": "crates/spt-live/src/context.rs",
2026-06-02T10:47:23.2135022Z               "line": 194
2026-06-02T10:47:23.2135125Z             },
2026-06-02T10:47:23.2135236Z             {
2026-06-02T10:47:23.2135387Z               "path": "crates/spt-live/src/context.rs",
2026-06-02T10:47:23.2135509Z               "line": 203
2026-06-02T10:47:23.2135615Z             },
2026-06-02T10:47:23.2135729Z             {
2026-06-02T10:47:23.2135895Z               "path": "crates/spt-live/src/context.rs",
2026-06-02T10:47:23.2136020Z               "line": 212
2026-06-02T10:47:23.2136133Z             },
2026-06-02T10:47:23.2136239Z             {
2026-06-02T10:47:23.2136396Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-02T10:47:23.2136513Z               "line": 132
2026-06-02T10:47:23.2136628Z             },
2026-06-02T10:47:23.2136737Z             {
2026-06-02T10:47:23.2136886Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-02T10:47:23.2137008Z               "line": 211
2026-06-02T10:47:23.2137113Z             }
2026-06-02T10:47:23.2137226Z           ]
2026-06-02T10:47:23.2137441Z         }
2026-06-02T10:47:23.2137556Z       }
2026-06-02T10:47:23.2137669Z     },
2026-06-02T10:47:23.2137773Z     {
2026-06-02T10:47:23.2137950Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-02T10:47:23.2138163Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-02T10:47:23.2138300Z       "requiredStages": [
2026-06-02T10:47:23.2138407Z         "impl",
2026-06-02T10:47:23.2138531Z         "unit"
2026-06-02T10:47:23.2138643Z       ],
2026-06-02T10:47:23.2138753Z       "stages": {
2026-06-02T10:47:23.2138867Z         "doc": {
2026-06-02T10:47:23.2138983Z           "complete": false,
2026-06-02T10:47:23.2139108Z           "evidence": []
2026-06-02T10:47:23.2139214Z         },
2026-06-02T10:47:23.2139331Z         "impl": {
2026-06-02T10:47:23.2139465Z           "complete": true,
2026-06-02T10:47:23.2139582Z           "evidence": [
2026-06-02T10:47:23.2139695Z             {
2026-06-02T10:47:23.2139851Z               "path": "crates/spt-live/src/echo.rs",
2026-06-02T10:47:23.2139975Z               "line": 25
2026-06-02T10:47:23.2140080Z             },
2026-06-02T10:47:23.2140194Z             {
2026-06-02T10:47:23.2140355Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-02T10:47:23.2140469Z               "line": 13
2026-06-02T10:47:23.2140583Z             },
2026-06-02T10:47:23.2140696Z             {
2026-06-02T10:47:23.2140855Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-02T10:47:23.2140976Z               "line": 78
2026-06-02T10:47:23.2141089Z             }
2026-06-02T10:47:23.2141200Z           ]
2026-06-02T10:47:23.2141307Z         },
2026-06-02T10:47:23.2141425Z         "int": {
2026-06-02T10:47:23.2141548Z           "complete": false,
2026-06-02T10:47:23.2141671Z           "evidence": []
2026-06-02T10:47:23.2141777Z         },
2026-06-02T10:47:23.2141895Z         "unit": {
2026-06-02T10:47:23.2142019Z           "complete": true,
2026-06-02T10:47:23.2142135Z           "evidence": [
2026-06-02T10:47:23.2142248Z             {
2026-06-02T10:47:23.2142398Z               "path": "crates/spt-live/src/echo.rs",
2026-06-02T10:47:23.2142519Z               "line": 180
2026-06-02T10:47:23.2142626Z             },
2026-06-02T10:47:23.2142738Z             {
2026-06-02T10:47:23.2142891Z               "path": "crates/spt-live/src/echo.rs",
2026-06-02T10:47:23.2143008Z               "line": 205
2026-06-02T10:47:23.2143261Z             },
2026-06-02T10:47:23.2143480Z             {
2026-06-02T10:47:23.2143638Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-02T10:47:23.2143752Z               "line": 96
2026-06-02T10:47:23.2143864Z             }
2026-06-02T10:47:23.2143980Z           ]
2026-06-02T10:47:23.2144083Z         }
2026-06-02T10:47:23.2144194Z       }
2026-06-02T10:47:23.2144297Z     },
2026-06-02T10:47:23.2144406Z     {
2026-06-02T10:47:23.2144551Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-02T10:47:23.2144794Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-02T10:47:23.2144926Z       "requiredStages": [
2026-06-02T10:47:23.2145037Z         "impl",
2026-06-02T10:47:23.2145154Z         "unit"
2026-06-02T10:47:23.2145258Z       ],
2026-06-02T10:47:23.2145377Z       "stages": {
2026-06-02T10:47:23.2145486Z         "doc": {
2026-06-02T10:47:23.2145614Z           "complete": false,
2026-06-02T10:47:23.2145735Z           "evidence": []
2026-06-02T10:47:23.2145850Z         },
2026-06-02T10:47:23.2145971Z         "impl": {
2026-06-02T10:47:23.2146089Z           "complete": true,
2026-06-02T10:47:23.2146214Z           "evidence": [
2026-06-02T10:47:23.2146320Z             {
2026-06-02T10:47:23.2146483Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-02T10:47:23.2146601Z               "line": 48
2026-06-02T10:47:23.2146707Z             },
2026-06-02T10:47:23.2146824Z             {
2026-06-02T10:47:23.2146977Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-02T10:47:23.2147114Z               "line": 55
2026-06-02T10:47:23.2147218Z             },
2026-06-02T10:47:23.2147462Z             {
2026-06-02T10:47:23.2147634Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-02T10:47:23.2147747Z               "line": 74
2026-06-02T10:47:23.2147862Z             },
2026-06-02T10:47:23.2147968Z             {
2026-06-02T10:47:23.2148131Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-02T10:47:23.2148264Z               "line": 91
2026-06-02T10:47:23.2148380Z             }
2026-06-02T10:47:23.2148492Z           ]
2026-06-02T10:47:23.2148595Z         },
2026-06-02T10:47:23.2148711Z         "int": {
2026-06-02T10:47:23.2148831Z           "complete": false,
2026-06-02T10:47:23.2148956Z           "evidence": []
2026-06-02T10:47:23.2149057Z         },
2026-06-02T10:47:23.2149173Z         "unit": {
2026-06-02T10:47:23.2149297Z           "complete": true,
2026-06-02T10:47:23.2149413Z           "evidence": [
2026-06-02T10:47:23.2149524Z             {
2026-06-02T10:47:23.2149681Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-02T10:47:23.2149804Z               "line": 149
2026-06-02T10:47:23.2149918Z             },
2026-06-02T10:47:23.2150023Z             {
2026-06-02T10:47:23.2150178Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-02T10:47:23.2150291Z               "line": 163
2026-06-02T10:47:23.2150406Z             },
2026-06-02T10:47:23.2150511Z             {
2026-06-02T10:47:23.2150674Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-02T10:47:23.2150801Z               "line": 173
2026-06-02T10:47:23.2150904Z             },
2026-06-02T10:47:23.2151016Z             {
2026-06-02T10:47:23.2151165Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-02T10:47:23.2151289Z               "line": 191
2026-06-02T10:47:23.2151394Z             },
2026-06-02T10:47:23.2151509Z             {
2026-06-02T10:47:23.2151664Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-02T10:47:23.2151779Z               "line": 204
2026-06-02T10:47:23.2151893Z             }
2026-06-02T10:47:23.2151998Z           ]
2026-06-02T10:47:23.2152109Z         }
2026-06-02T10:47:23.2152215Z       }
2026-06-02T10:47:23.2152327Z     },
2026-06-02T10:47:23.2152436Z     {
2026-06-02T10:47:23.2152592Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-02T10:47:23.2152863Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-02T10:47:23.2153132Z       "requiredStages": [
2026-06-02T10:47:23.2153366Z         "impl",
2026-06-02T10:47:23.2153474Z         "unit"
2026-06-02T10:47:23.2153586Z       ],
2026-06-02T10:47:23.2153702Z       "stages": {
2026-06-02T10:47:23.2153811Z         "doc": {
2026-06-02T10:47:23.2153936Z           "complete": false,
2026-06-02T10:47:23.2154052Z           "evidence": []
2026-06-02T10:47:23.2154164Z         },
2026-06-02T10:47:23.2154272Z         "impl": {
2026-06-02T10:47:23.2154400Z           "complete": true,
2026-06-02T10:47:23.2154519Z           "evidence": [
2026-06-02T10:47:23.2154623Z             {
2026-06-02T10:47:23.2154782Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-02T10:47:23.2154898Z               "line": 26
2026-06-02T10:47:23.2155010Z             }
2026-06-02T10:47:23.2155115Z           ]
2026-06-02T10:47:23.2155227Z         },
2026-06-02T10:47:23.2155341Z         "int": {
2026-06-02T10:47:23.2155461Z           "complete": false,
2026-06-02T10:47:23.2155582Z           "evidence": []
2026-06-02T10:47:23.2155695Z         },
2026-06-02T10:47:23.2155818Z         "unit": {
2026-06-02T10:47:23.2155939Z           "complete": true,
2026-06-02T10:47:23.2156061Z           "evidence": [
2026-06-02T10:47:23.2156172Z             {
2026-06-02T10:47:23.2156324Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-02T10:47:23.2156449Z               "line": 138
2026-06-02T10:47:23.2156556Z             },
2026-06-02T10:47:23.2156671Z             {
2026-06-02T10:47:23.2156822Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-02T10:47:23.2156946Z               "line": 181
2026-06-02T10:47:23.2157059Z             }
2026-06-02T10:47:23.2157167Z           ]
2026-06-02T10:47:23.2157280Z         }
2026-06-02T10:47:23.2157502Z       }
2026-06-02T10:47:23.2157614Z     },
2026-06-02T10:47:23.2157717Z     {
2026-06-02T10:47:23.2157890Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-02T10:47:23.2158112Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-02T10:47:23.2158242Z       "requiredStages": [
2026-06-02T10:47:23.2158363Z         "impl",
2026-06-02T10:47:23.2158470Z         "unit"
2026-06-02T10:47:23.2158580Z       ],
2026-06-02T10:47:23.2158690Z       "stages": {
2026-06-02T10:47:23.2158806Z         "doc": {
2026-06-02T10:47:23.2158932Z           "complete": false,
2026-06-02T10:47:23.2159046Z           "evidence": []
2026-06-02T10:47:23.2159154Z         },
2026-06-02T10:47:23.2159265Z         "impl": {
2026-06-02T10:47:23.2159387Z           "complete": true,
2026-06-02T10:47:23.2159500Z           "evidence": [
2026-06-02T10:47:23.2159613Z             {
2026-06-02T10:47:23.2159784Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-02T10:47:23.2159897Z               "line": 36
2026-06-02T10:47:23.2160010Z             },
2026-06-02T10:47:23.2160116Z             {
2026-06-02T10:47:23.2160284Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-02T10:47:23.2160398Z               "line": 68
2026-06-02T10:47:23.2160517Z             }
2026-06-02T10:47:23.2160628Z           ]
2026-06-02T10:47:23.2160741Z         },
2026-06-02T10:47:23.2160862Z         "int": {
2026-06-02T10:47:23.2160988Z           "complete": false,
2026-06-02T10:47:23.2161109Z           "evidence": []
2026-06-02T10:47:23.2161213Z         },
2026-06-02T10:47:23.2161327Z         "unit": {
2026-06-02T10:47:23.2161450Z           "complete": true,
2026-06-02T10:47:23.2161564Z           "evidence": [
2026-06-02T10:47:23.2161678Z             {
2026-06-02T10:47:23.2161836Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-02T10:47:23.2161957Z               "line": 143
2026-06-02T10:47:23.2162062Z             },
2026-06-02T10:47:23.2162178Z             {
2026-06-02T10:47:23.2162342Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-02T10:47:23.2162458Z               "line": 160
2026-06-02T10:47:23.2162570Z             },
2026-06-02T10:47:23.2162674Z             {
2026-06-02T10:47:23.2162836Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-02T10:47:23.2163099Z               "line": 168
2026-06-02T10:47:23.2163326Z             }
2026-06-02T10:47:23.2163439Z           ]
2026-06-02T10:47:23.2163543Z         }
2026-06-02T10:47:23.2163656Z       }
2026-06-02T10:47:23.2163760Z     },
2026-06-02T10:47:23.2163869Z     {
2026-06-02T10:47:23.2164039Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-02T10:47:23.2164293Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-02T10:47:23.2164422Z       "requiredStages": [
2026-06-02T10:47:23.2164531Z         "impl",
2026-06-02T10:47:23.2164644Z         "unit"
2026-06-02T10:47:23.2164746Z       ],
2026-06-02T10:47:23.2164866Z       "stages": {
2026-06-02T10:47:23.2164975Z         "doc": {
2026-06-02T10:47:23.2165105Z           "complete": false,
2026-06-02T10:47:23.2165231Z           "evidence": []
2026-06-02T10:47:23.2165334Z         },
2026-06-02T10:47:23.2165453Z         "impl": {
2026-06-02T10:47:23.2165573Z           "complete": true,
2026-06-02T10:47:23.2165706Z           "evidence": [
2026-06-02T10:47:23.2165816Z             {
2026-06-02T10:47:23.2165994Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-02T10:47:23.2166117Z               "line": 107
2026-06-02T10:47:23.2166222Z             }
2026-06-02T10:47:23.2166333Z           ]
2026-06-02T10:47:23.2166437Z         },
2026-06-02T10:47:23.2166553Z         "int": {
2026-06-02T10:47:23.2166671Z           "complete": false,
2026-06-02T10:47:23.2166793Z           "evidence": []
2026-06-02T10:47:23.2166904Z         },
2026-06-02T10:47:23.2167011Z         "unit": {
2026-06-02T10:47:23.2167134Z           "complete": true,
2026-06-02T10:47:23.2167249Z           "evidence": [
2026-06-02T10:47:23.2167479Z             {
2026-06-02T10:47:23.2167644Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-02T10:47:23.2167769Z               "line": 184
2026-06-02T10:47:23.2167887Z             },
2026-06-02T10:47:23.2167992Z             {
2026-06-02T10:47:23.2168160Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-02T10:47:23.2168290Z               "line": 193
2026-06-02T10:47:23.2168403Z             },
2026-06-02T10:47:23.2168507Z             {
2026-06-02T10:47:23.2168673Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-02T10:47:23.2168796Z               "line": 201
2026-06-02T10:47:23.2168901Z             },
2026-06-02T10:47:23.2169010Z             {
2026-06-02T10:47:23.2169168Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-02T10:47:23.2169293Z               "line": 210
2026-06-02T10:47:23.2169399Z             },
2026-06-02T10:47:23.2169512Z             {
2026-06-02T10:47:23.2169672Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-02T10:47:23.2169783Z               "line": 219
2026-06-02T10:47:23.2169895Z             }
2026-06-02T10:47:23.2169999Z           ]
2026-06-02T10:47:23.2170110Z         }
2026-06-02T10:47:23.2170213Z       }
2026-06-02T10:47:23.2170326Z     },
2026-06-02T10:47:23.2170436Z     {
2026-06-02T10:47:23.2170596Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-02T10:47:23.2170828Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-02T10:47:23.2170947Z       "requiredStages": [
2026-06-02T10:47:23.2171065Z         "impl",
2026-06-02T10:47:23.2171171Z         "unit"
2026-06-02T10:47:23.2171283Z       ],
2026-06-02T10:47:23.2171398Z       "stages": {
2026-06-02T10:47:23.2171506Z         "doc": {
2026-06-02T10:47:23.2171633Z           "complete": false,
2026-06-02T10:47:23.2171749Z           "evidence": []
2026-06-02T10:47:23.2171863Z         },
2026-06-02T10:47:23.2171972Z         "impl": {
2026-06-02T10:47:23.2172098Z           "complete": true,
2026-06-02T10:47:23.2172219Z           "evidence": [
2026-06-02T10:47:23.2172322Z             {
2026-06-02T10:47:23.2172483Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-02T10:47:23.2172597Z               "line": 14
2026-06-02T10:47:23.2172712Z             },
2026-06-02T10:47:23.2172816Z             {
2026-06-02T10:47:23.2173159Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-02T10:47:23.2173392Z               "line": 63
2026-06-02T10:47:23.2173498Z             }
2026-06-02T10:47:23.2173608Z           ]
2026-06-02T10:47:23.2173713Z         },
2026-06-02T10:47:23.2173829Z         "int": {
2026-06-02T10:47:23.2173950Z           "complete": false,
2026-06-02T10:47:23.2174076Z           "evidence": []
2026-06-02T10:47:23.2174187Z         },
2026-06-02T10:47:23.2174294Z         "unit": {
2026-06-02T10:47:23.2174421Z           "complete": true,
2026-06-02T10:47:23.2174535Z           "evidence": [
2026-06-02T10:47:23.2174648Z             {
2026-06-02T10:47:23.2174794Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-02T10:47:23.2174919Z               "line": 161
2026-06-02T10:47:23.2175030Z             },
2026-06-02T10:47:23.2175134Z             {
2026-06-02T10:47:23.2175282Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-02T10:47:23.2175395Z               "line": 198
2026-06-02T10:47:23.2175514Z             },
2026-06-02T10:47:23.2175619Z             {
2026-06-02T10:47:23.2175776Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-02T10:47:23.2175898Z               "line": 214
2026-06-02T10:47:23.2176005Z             }
2026-06-02T10:47:23.2176116Z           ]
2026-06-02T10:47:23.2176218Z         }
2026-06-02T10:47:23.2176331Z       }
2026-06-02T10:47:23.2176434Z     },
2026-06-02T10:47:23.2176543Z     {
2026-06-02T10:47:23.2176703Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-02T10:47:23.2176997Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-02T10:47:23.2177127Z       "requiredStages": [
2026-06-02T10:47:23.2177234Z         "impl",
2026-06-02T10:47:23.2177457Z         "unit"
2026-06-02T10:47:23.2177566Z       ],
2026-06-02T10:47:23.2177683Z       "stages": {
2026-06-02T10:47:23.2177799Z         "doc": {
2026-06-02T10:47:23.2177922Z           "complete": false,
2026-06-02T10:47:23.2178046Z           "evidence": []
2026-06-02T10:47:23.2178162Z         },
2026-06-02T10:47:23.2178277Z         "impl": {
2026-06-02T10:47:23.2178401Z           "complete": true,
2026-06-02T10:47:23.2178526Z           "evidence": [
2026-06-02T10:47:23.2178637Z             {
2026-06-02T10:47:23.2178798Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-02T10:47:23.2178920Z               "line": 76
2026-06-02T10:47:23.2179024Z             },
2026-06-02T10:47:23.2179134Z             {
2026-06-02T10:47:23.2179288Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-02T10:47:23.2179412Z               "line": 163
2026-06-02T10:47:23.2179525Z             },
2026-06-02T10:47:23.2179629Z             {
2026-06-02T10:47:23.2179787Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-02T10:47:23.2179904Z               "line": 229
2026-06-02T10:47:23.2180017Z             },
2026-06-02T10:47:23.2180131Z             {
2026-06-02T10:47:23.2180276Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-02T10:47:23.2180406Z               "line": 265
2026-06-02T10:47:23.2180539Z             }
2026-06-02T10:47:23.2180657Z           ]
2026-06-02T10:47:23.2180760Z         },
2026-06-02T10:47:23.2180881Z         "int": {
2026-06-02T10:47:23.2181004Z           "complete": false,
2026-06-02T10:47:23.2181128Z           "evidence": []
2026-06-02T10:47:23.2181241Z         },
2026-06-02T10:47:23.2181349Z         "unit": {
2026-06-02T10:47:23.2181473Z           "complete": true,
2026-06-02T10:47:23.2181591Z           "evidence": [
2026-06-02T10:47:23.2181706Z             {
2026-06-02T10:47:23.2181857Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-02T10:47:23.2181982Z               "line": 310
2026-06-02T10:47:23.2182097Z             },
2026-06-02T10:47:23.2182202Z             {
2026-06-02T10:47:23.2182359Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-02T10:47:23.2182475Z               "line": 318
2026-06-02T10:47:23.2182591Z             },
2026-06-02T10:47:23.2182704Z             {
2026-06-02T10:47:23.2183021Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-02T10:47:23.2183256Z               "line": 341
2026-06-02T10:47:23.2183364Z             },
2026-06-02T10:47:23.2183477Z             {
2026-06-02T10:47:23.2183636Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-02T10:47:23.2183759Z               "line": 378
2026-06-02T10:47:23.2183872Z             },
2026-06-02T10:47:23.2183977Z             {
2026-06-02T10:47:23.2184134Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-02T10:47:23.2184250Z               "line": 389
2026-06-02T10:47:23.2184365Z             },
2026-06-02T10:47:23.2184469Z             {
2026-06-02T10:47:23.2184628Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-02T10:47:23.2184748Z               "line": 401
2026-06-02T10:47:23.2184854Z             },
2026-06-02T10:47:23.2184967Z             {
2026-06-02T10:47:23.2185115Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-02T10:47:23.2185240Z               "line": 413
2026-06-02T10:47:23.2185354Z             }
2026-06-02T10:47:23.2185474Z           ]
2026-06-02T10:47:23.2185586Z         }
2026-06-02T10:47:23.2185689Z       }
2026-06-02T10:47:23.2185797Z     },
2026-06-02T10:47:23.2185900Z     {
2026-06-02T10:47:23.2186048Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-02T10:47:23.2186253Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-02T10:47:23.2186383Z       "requiredStages": [],
2026-06-02T10:47:23.2186500Z       "stages": {
2026-06-02T10:47:23.2186607Z         "doc": {
2026-06-02T10:47:23.2186738Z           "complete": false,
2026-06-02T10:47:23.2186853Z           "evidence": []
2026-06-02T10:47:23.2186967Z         },
2026-06-02T10:47:23.2187077Z         "impl": {
2026-06-02T10:47:23.2187205Z           "complete": false,
2026-06-02T10:47:23.2187445Z           "evidence": []
2026-06-02T10:47:23.2187551Z         },
2026-06-02T10:47:23.2187662Z         "int": {
2026-06-02T10:47:23.2187781Z           "complete": false,
2026-06-02T10:47:23.2187915Z           "evidence": []
2026-06-02T10:47:23.2188018Z         },
2026-06-02T10:47:23.2188141Z         "unit": {
2026-06-02T10:47:23.2188268Z           "complete": false,
2026-06-02T10:47:23.2188384Z           "evidence": []
2026-06-02T10:47:23.2188493Z         }
2026-06-02T10:47:23.2188597Z       }
2026-06-02T10:47:23.2188706Z     },
2026-06-02T10:47:23.2188809Z     {
2026-06-02T10:47:23.2188980Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-02T10:47:23.2189247Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-02T10:47:23.2189369Z       "requiredStages": [
2026-06-02T10:47:23.2189488Z         "impl",
2026-06-02T10:47:23.2189596Z         "unit"
2026-06-02T10:47:23.2189709Z       ],
2026-06-02T10:47:23.2189819Z       "stages": {
2026-06-02T10:47:23.2189934Z         "doc": {
2026-06-02T10:47:23.2190060Z           "complete": false,
2026-06-02T10:47:23.2190180Z           "evidence": []
2026-06-02T10:47:23.2190297Z         },
2026-06-02T10:47:23.2190405Z         "impl": {
2026-06-02T10:47:23.2190541Z           "complete": true,
2026-06-02T10:47:23.2190659Z           "evidence": [
2026-06-02T10:47:23.2190771Z             {
2026-06-02T10:47:23.2190935Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-02T10:47:23.2191048Z               "line": 27
2026-06-02T10:47:23.2191161Z             }
2026-06-02T10:47:23.2191265Z           ]
2026-06-02T10:47:23.2191377Z         },
2026-06-02T10:47:23.2191488Z         "int": {
2026-06-02T10:47:23.2191620Z           "complete": false,
2026-06-02T10:47:23.2191739Z           "evidence": []
2026-06-02T10:47:23.2191841Z         },
2026-06-02T10:47:23.2191956Z         "unit": {
2026-06-02T10:47:23.2192077Z           "complete": true,
2026-06-02T10:47:23.2192196Z           "evidence": [
2026-06-02T10:47:23.2192301Z             {
2026-06-02T10:47:23.2192462Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-02T10:47:23.2192580Z               "line": 163
2026-06-02T10:47:23.2192686Z             }
2026-06-02T10:47:23.2192944Z           ]
2026-06-02T10:47:23.2193050Z         }
2026-06-02T10:47:23.2193280Z       }
2026-06-02T10:47:23.2193384Z     },
2026-06-02T10:47:23.2193494Z     {
2026-06-02T10:47:23.2193663Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-02T10:47:23.2193893Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-02T10:47:23.2194026Z       "requiredStages": [],
2026-06-02T10:47:23.2194137Z       "stages": {
2026-06-02T10:47:23.2194254Z         "doc": {
2026-06-02T10:47:23.2194376Z           "complete": false,
2026-06-02T10:47:23.2194498Z           "evidence": []
2026-06-02T10:47:23.2194609Z         },
2026-06-02T10:47:23.2194720Z         "impl": {
2026-06-02T10:47:23.2194843Z           "complete": false,
2026-06-02T10:47:23.2194958Z           "evidence": []
2026-06-02T10:47:23.2195071Z         },
2026-06-02T10:47:23.2195183Z         "int": {
2026-06-02T10:47:23.2195309Z           "complete": false,
2026-06-02T10:47:23.2195430Z           "evidence": []
2026-06-02T10:47:23.2195547Z         },
2026-06-02T10:47:23.2195661Z         "unit": {
2026-06-02T10:47:23.2195789Z           "complete": false,
2026-06-02T10:47:23.2195914Z           "evidence": []
2026-06-02T10:47:23.2196017Z         }
2026-06-02T10:47:23.2196134Z       }
2026-06-02T10:47:23.2196243Z     },
2026-06-02T10:47:23.2196347Z     {
2026-06-02T10:47:23.2196494Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-02T10:47:23.2196838Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-02T10:47:23.2196978Z       "requiredStages": [
2026-06-02T10:47:23.2197088Z         "impl",
2026-06-02T10:47:23.2197209Z         "unit"
2026-06-02T10:47:23.2197429Z       ],
2026-06-02T10:47:23.2197546Z       "stages": {
2026-06-02T10:47:23.2197663Z         "doc": {
2026-06-02T10:47:23.2197788Z           "complete": true,
2026-06-02T10:47:23.2197908Z           "evidence": [
2026-06-02T10:47:23.2198016Z             {
2026-06-02T10:47:23.2198177Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-02T10:47:23.2198309Z               "line": 131
2026-06-02T10:47:23.2198424Z             }
2026-06-02T10:47:23.2198536Z           ]
2026-06-02T10:47:23.2198639Z         },
2026-06-02T10:47:23.2198757Z         "impl": {
2026-06-02T10:47:23.2198883Z           "complete": true,
2026-06-02T10:47:23.2199010Z           "evidence": [
2026-06-02T10:47:23.2199120Z             {
2026-06-02T10:47:23.2199277Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-02T10:47:23.2199403Z               "line": 50
2026-06-02T10:47:23.2199513Z             },
2026-06-02T10:47:23.2199624Z             {
2026-06-02T10:47:23.2199778Z               "path": "crates/spt-proto/src/id.rs",
2026-06-02T10:47:23.2199904Z               "line": 17
2026-06-02T10:47:23.2200016Z             },
2026-06-02T10:47:23.2200120Z             {
2026-06-02T10:47:23.2200290Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2200406Z               "line": 150
2026-06-02T10:47:23.2200523Z             },
2026-06-02T10:47:23.2200633Z             {
2026-06-02T10:47:23.2200794Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2200920Z               "line": 238
2026-06-02T10:47:23.2201028Z             },
2026-06-02T10:47:23.2201138Z             {
2026-06-02T10:47:23.2201289Z               "path": "crates/spt/src/api/worker.rs",
2026-06-02T10:47:23.2201419Z               "line": 32
2026-06-02T10:47:23.2201526Z             }
2026-06-02T10:47:23.2201647Z           ]
2026-06-02T10:47:23.2201763Z         },
2026-06-02T10:47:23.2201871Z         "int": {
2026-06-02T10:47:23.2201999Z           "complete": false,
2026-06-02T10:47:23.2202119Z           "evidence": []
2026-06-02T10:47:23.2202232Z         },
2026-06-02T10:47:23.2202342Z         "unit": {
2026-06-02T10:47:23.2202472Z           "complete": true,
2026-06-02T10:47:23.2202598Z           "evidence": [
2026-06-02T10:47:23.2202703Z             {
2026-06-02T10:47:23.2202863Z               "path": "crates/spt-proto/src/id.rs",
2026-06-02T10:47:23.2203165Z               "line": 94
2026-06-02T10:47:23.2203279Z             },
2026-06-02T10:47:23.2203500Z             {
2026-06-02T10:47:23.2203660Z               "path": "crates/spt-proto/src/id.rs",
2026-06-02T10:47:23.2203784Z               "line": 111
2026-06-02T10:47:23.2203895Z             },
2026-06-02T10:47:23.2204007Z             {
2026-06-02T10:47:23.2204150Z               "path": "crates/spt-proto/src/id.rs",
2026-06-02T10:47:23.2204276Z               "line": 124
2026-06-02T10:47:23.2204383Z             },
2026-06-02T10:47:23.2204502Z             {
2026-06-02T10:47:23.2204657Z               "path": "crates/spt-proto/src/id.rs",
2026-06-02T10:47:23.2204771Z               "line": 134
2026-06-02T10:47:23.2204886Z             },
2026-06-02T10:47:23.2204991Z             {
2026-06-02T10:47:23.2205143Z               "path": "crates/spt-proto/src/id.rs",
2026-06-02T10:47:23.2205256Z               "line": 142
2026-06-02T10:47:23.2205374Z             },
2026-06-02T10:47:23.2205488Z             {
2026-06-02T10:47:23.2205641Z               "path": "crates/spt-proto/src/id.rs",
2026-06-02T10:47:23.2205768Z               "line": 154
2026-06-02T10:47:23.2205874Z             }
2026-06-02T10:47:23.2205989Z           ]
2026-06-02T10:47:23.2206098Z         }
2026-06-02T10:47:23.2206210Z       }
2026-06-02T10:47:23.2206320Z     },
2026-06-02T10:47:23.2206425Z     {
2026-06-02T10:47:23.2206578Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-02T10:47:23.2206772Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-02T10:47:23.2206907Z       "requiredStages": [
2026-06-02T10:47:23.2207019Z         "impl",
2026-06-02T10:47:23.2207140Z         "unit"
2026-06-02T10:47:23.2207261Z       ],
2026-06-02T10:47:23.2207491Z       "stages": {
2026-06-02T10:47:23.2207614Z         "doc": {
2026-06-02T10:47:23.2207744Z           "complete": false,
2026-06-02T10:47:23.2207874Z           "evidence": []
2026-06-02T10:47:23.2207983Z         },
2026-06-02T10:47:23.2208107Z         "impl": {
2026-06-02T10:47:23.2208242Z           "complete": true,
2026-06-02T10:47:23.2208373Z           "evidence": [
2026-06-02T10:47:23.2208499Z             {
2026-06-02T10:47:23.2208666Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-02T10:47:23.2208795Z               "line": 92
2026-06-02T10:47:23.2208906Z             }
2026-06-02T10:47:23.2209025Z           ]
2026-06-02T10:47:23.2209138Z         },
2026-06-02T10:47:23.2209249Z         "int": {
2026-06-02T10:47:23.2209385Z           "complete": false,
2026-06-02T10:47:23.2209505Z           "evidence": []
2026-06-02T10:47:23.2209618Z         },
2026-06-02T10:47:23.2209735Z         "unit": {
2026-06-02T10:47:23.2209863Z           "complete": true,
2026-06-02T10:47:23.2209986Z           "evidence": [
2026-06-02T10:47:23.2210096Z             {
2026-06-02T10:47:23.2210260Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-02T10:47:23.2210379Z               "line": 188
2026-06-02T10:47:23.2210499Z             }
2026-06-02T10:47:23.2210607Z           ]
2026-06-02T10:47:23.2210728Z         }
2026-06-02T10:47:23.2210843Z       }
2026-06-02T10:47:23.2210955Z     },
2026-06-02T10:47:23.2211071Z     {
2026-06-02T10:47:23.2211229Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-02T10:47:23.2211449Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-02T10:47:23.2211574Z       "requiredStages": [
2026-06-02T10:47:23.2211695Z         "impl",
2026-06-02T10:47:23.2211812Z         "unit"
2026-06-02T10:47:23.2211923Z       ],
2026-06-02T10:47:23.2212043Z       "stages": {
2026-06-02T10:47:23.2212155Z         "doc": {
2026-06-02T10:47:23.2212285Z           "complete": false,
2026-06-02T10:47:23.2212402Z           "evidence": []
2026-06-02T10:47:23.2212518Z         },
2026-06-02T10:47:23.2212638Z         "impl": {
2026-06-02T10:47:23.2212758Z           "complete": true,
2026-06-02T10:47:23.2212884Z           "evidence": [
2026-06-02T10:47:23.2212990Z             {
2026-06-02T10:47:23.2213156Z               "path": "crates/spt-store/src/info.rs",
2026-06-02T10:47:23.2213420Z               "line": 76
2026-06-02T10:47:23.2213538Z             },
2026-06-02T10:47:23.2213769Z             {
2026-06-02T10:47:23.2213923Z               "path": "crates/spt-store/src/info.rs",
2026-06-02T10:47:23.2214046Z               "line": 87
2026-06-02T10:47:23.2214156Z             },
2026-06-02T10:47:23.2214274Z             {
2026-06-02T10:47:23.2214421Z               "path": "crates/spt-store/src/info.rs",
2026-06-02T10:47:23.2214547Z               "line": 105
2026-06-02T10:47:23.2214659Z             }
2026-06-02T10:47:23.2214768Z           ]
2026-06-02T10:47:23.2214882Z         },
2026-06-02T10:47:23.2214992Z         "int": {
2026-06-02T10:47:23.2215123Z           "complete": false,
2026-06-02T10:47:23.2215238Z           "evidence": []
2026-06-02T10:47:23.2215355Z         },
2026-06-02T10:47:23.2215474Z         "unit": {
2026-06-02T10:47:23.2215595Z           "complete": true,
2026-06-02T10:47:23.2215722Z           "evidence": [
2026-06-02T10:47:23.2215831Z             {
2026-06-02T10:47:23.2216001Z               "path": "crates/spt-store/src/info.rs",
2026-06-02T10:47:23.2216129Z               "line": 129
2026-06-02T10:47:23.2216250Z             },
2026-06-02T10:47:23.2216367Z             {
2026-06-02T10:47:23.2216519Z               "path": "crates/spt-store/src/info.rs",
2026-06-02T10:47:23.2216647Z               "line": 147
2026-06-02T10:47:23.2216755Z             },
2026-06-02T10:47:23.2216872Z             {
2026-06-02T10:47:23.2217021Z               "path": "crates/spt-store/src/info.rs",
2026-06-02T10:47:23.2217149Z               "line": 166
2026-06-02T10:47:23.2217267Z             },
2026-06-02T10:47:23.2217481Z             {
2026-06-02T10:47:23.2217641Z               "path": "crates/spt-store/src/info.rs",
2026-06-02T10:47:23.2217758Z               "line": 177
2026-06-02T10:47:23.2217873Z             },
2026-06-02T10:47:23.2217983Z             {
2026-06-02T10:47:23.2218138Z               "path": "crates/spt-store/src/info.rs",
2026-06-02T10:47:23.2218262Z               "line": 190
2026-06-02T10:47:23.2218380Z             }
2026-06-02T10:47:23.2218502Z           ]
2026-06-02T10:47:23.2218612Z         }
2026-06-02T10:47:23.2218729Z       }
2026-06-02T10:47:23.2218834Z     },
2026-06-02T10:47:23.2218953Z     {
2026-06-02T10:47:23.2219108Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-02T10:47:23.2219489Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-02T10:47:23.2219623Z       "requiredStages": [
2026-06-02T10:47:23.2219734Z         "impl",
2026-06-02T10:47:23.2219852Z         "unit"
2026-06-02T10:47:23.2219957Z       ],
2026-06-02T10:47:23.2220080Z       "stages": {
2026-06-02T10:47:23.2220199Z         "doc": {
2026-06-02T10:47:23.2220322Z           "complete": false,
2026-06-02T10:47:23.2220448Z           "evidence": []
2026-06-02T10:47:23.2220556Z         },
2026-06-02T10:47:23.2220682Z         "impl": {
2026-06-02T10:47:23.2220802Z           "complete": true,
2026-06-02T10:47:23.2220927Z           "evidence": [
2026-06-02T10:47:23.2221055Z             {
2026-06-02T10:47:23.2221222Z               "path": "crates/spt/src/api/auth.rs",
2026-06-02T10:47:23.2221355Z               "line": 14
2026-06-02T10:47:23.2221470Z             },
2026-06-02T10:47:23.2221590Z             {
2026-06-02T10:47:23.2221746Z               "path": "crates/spt/src/api/mod.rs",
2026-06-02T10:47:23.2221881Z               "line": 283
2026-06-02T10:47:23.2221997Z             }
2026-06-02T10:47:23.2222104Z           ]
2026-06-02T10:47:23.2222216Z         },
2026-06-02T10:47:23.2222327Z         "int": {
2026-06-02T10:47:23.2222459Z           "complete": false,
2026-06-02T10:47:23.2222577Z           "evidence": []
2026-06-02T10:47:23.2222695Z         },
2026-06-02T10:47:23.2222817Z         "unit": {
2026-06-02T10:47:23.2222938Z           "complete": true,
2026-06-02T10:47:23.2223395Z           "evidence": [
2026-06-02T10:47:23.2223613Z             {
2026-06-02T10:47:23.2223816Z               "path": "crates/spt/src/api/auth.rs",
2026-06-02T10:47:23.2224004Z               "line": 130
2026-06-02T10:47:23.2278834Z             },
2026-06-02T10:47:23.2279407Z             {
2026-06-02T10:47:23.2279650Z               "path": "crates/spt/src/api/auth.rs",
2026-06-02T10:47:23.2279792Z               "line": 138
2026-06-02T10:47:23.2279904Z             },
2026-06-02T10:47:23.2280017Z             {
2026-06-02T10:47:23.2280178Z               "path": "crates/spt/src/api/auth.rs",
2026-06-02T10:47:23.2280312Z               "line": 146
2026-06-02T10:47:23.2280422Z             },
2026-06-02T10:47:23.2280539Z             {
2026-06-02T10:47:23.2280692Z               "path": "crates/spt/src/api/auth.rs",
2026-06-02T10:47:23.2280812Z               "line": 154
2026-06-02T10:47:23.2280926Z             },
2026-06-02T10:47:23.2281032Z             {
2026-06-02T10:47:23.2281183Z               "path": "crates/spt/src/api/auth.rs",
2026-06-02T10:47:23.2281320Z               "line": 162
2026-06-02T10:47:23.2281437Z             },
2026-06-02T10:47:23.2281548Z             {
2026-06-02T10:47:23.2281692Z               "path": "crates/spt/src/api/auth.rs",
2026-06-02T10:47:23.2281834Z               "line": 170
2026-06-02T10:47:23.2281941Z             }
2026-06-02T10:47:23.2282052Z           ]
2026-06-02T10:47:23.2282158Z         }
2026-06-02T10:47:23.2282272Z       }
2026-06-02T10:47:23.2282383Z     },
2026-06-02T10:47:23.2282487Z     {
2026-06-02T10:47:23.2282654Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-02T10:47:23.2282922Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-02T10:47:23.2283059Z       "requiredStages": [],
2026-06-02T10:47:23.2283174Z       "stages": {
2026-06-02T10:47:23.2283291Z         "doc": {
2026-06-02T10:47:23.2283424Z           "complete": false,
2026-06-02T10:47:23.2283544Z           "evidence": []
2026-06-02T10:47:23.2283653Z         },
2026-06-02T10:47:23.2283766Z         "impl": {
2026-06-02T10:47:23.2283897Z           "complete": false,
2026-06-02T10:47:23.2284015Z           "evidence": []
2026-06-02T10:47:23.2284124Z         },
2026-06-02T10:47:23.2284249Z         "int": {
2026-06-02T10:47:23.2284378Z           "complete": false,
2026-06-02T10:47:23.2284500Z           "evidence": []
2026-06-02T10:47:23.2284605Z         },
2026-06-02T10:47:23.2284717Z         "unit": {
2026-06-02T10:47:23.2284833Z           "complete": false,
2026-06-02T10:47:23.2284949Z           "evidence": []
2026-06-02T10:47:23.2285060Z         }
2026-06-02T10:47:23.2285166Z       }
2026-06-02T10:47:23.2285281Z     },
2026-06-02T10:47:23.2285388Z     {
2026-06-02T10:47:23.2285556Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-02T10:47:23.2285904Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-02T10:47:23.2286041Z       "requiredStages": [
2026-06-02T10:47:23.2286158Z         "impl",
2026-06-02T10:47:23.2286268Z         "unit"
2026-06-02T10:47:23.2286379Z       ],
2026-06-02T10:47:23.2286486Z       "stages": {
2026-06-02T10:47:23.2286600Z         "doc": {
2026-06-02T10:47:23.2286725Z           "complete": true,
2026-06-02T10:47:23.2286858Z           "evidence": [
2026-06-02T10:47:23.2286971Z             {
2026-06-02T10:47:23.2287121Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-02T10:47:23.2287248Z               "line": 137
2026-06-02T10:47:23.2287507Z             }
2026-06-02T10:47:23.2287624Z           ]
2026-06-02T10:47:23.2287729Z         },
2026-06-02T10:47:23.2287851Z         "impl": {
2026-06-02T10:47:23.2287976Z           "complete": true,
2026-06-02T10:47:23.2288091Z           "evidence": [
2026-06-02T10:47:23.2288200Z             {
2026-06-02T10:47:23.2288358Z               "path": "crates/spt-store/src/db.rs",
2026-06-02T10:47:23.2288482Z               "line": 29
2026-06-02T10:47:23.2288590Z             },
2026-06-02T10:47:23.2288703Z             {
2026-06-02T10:47:23.2288878Z               "path": "crates/spt-store/src/registry.rs",
2026-06-02T10:47:23.2288995Z               "line": 24
2026-06-02T10:47:23.2289113Z             },
2026-06-02T10:47:23.2289217Z             {
2026-06-02T10:47:23.2289540Z               "path": "crates/spt-store/src/spool.rs",
2026-06-02T10:47:23.2289766Z               "line": 48
2026-06-02T10:47:23.2289885Z             }
2026-06-02T10:47:23.2289995Z           ]
2026-06-02T10:47:23.2290099Z         },
2026-06-02T10:47:23.2290212Z         "int": {
2026-06-02T10:47:23.2290333Z           "complete": false,
2026-06-02T10:47:23.2290458Z           "evidence": []
2026-06-02T10:47:23.2290563Z         },
2026-06-02T10:47:23.2290680Z         "unit": {
2026-06-02T10:47:23.2290807Z           "complete": true,
2026-06-02T10:47:23.2290923Z           "evidence": [
2026-06-02T10:47:23.2291038Z             {
2026-06-02T10:47:23.2291204Z               "path": "crates/spt-store/src/registry.rs",
2026-06-02T10:47:23.2291332Z               "line": 140
2026-06-02T10:47:23.2291437Z             }
2026-06-02T10:47:23.2291550Z           ]
2026-06-02T10:47:23.2291662Z         }
2026-06-02T10:47:23.2291764Z       }
2026-06-02T10:47:23.2291872Z     },
2026-06-02T10:47:23.2291984Z     {
2026-06-02T10:47:23.2292148Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-02T10:47:23.2292420Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-02T10:47:23.2292549Z       "requiredStages": [
2026-06-02T10:47:23.2292665Z         "impl",
2026-06-02T10:47:23.2292773Z         "unit"
2026-06-02T10:47:23.2292885Z       ],
2026-06-02T10:47:23.2292997Z       "stages": {
2026-06-02T10:47:23.2293109Z         "doc": {
2026-06-02T10:47:23.2293227Z           "complete": false,
2026-06-02T10:47:23.2293348Z           "evidence": []
2026-06-02T10:47:23.2293460Z         },
2026-06-02T10:47:23.2293570Z         "impl": {
2026-06-02T10:47:23.2293700Z           "complete": true,
2026-06-02T10:47:23.2293817Z           "evidence": [
2026-06-02T10:47:23.2293934Z             {
2026-06-02T10:47:23.2294096Z               "path": "crates/spt-store/src/proc.rs",
2026-06-02T10:47:23.2294219Z               "line": 8
2026-06-02T10:47:23.2294333Z             },
2026-06-02T10:47:23.2294447Z             {
2026-06-02T10:47:23.2294617Z               "path": "crates/spt-store/src/registry.rs",
2026-06-02T10:47:23.2294739Z               "line": 49
2026-06-02T10:47:23.2294851Z             },
2026-06-02T10:47:23.2294961Z             {
2026-06-02T10:47:23.2295125Z               "path": "crates/spt-store/src/registry.rs",
2026-06-02T10:47:23.2295246Z               "line": 56
2026-06-02T10:47:23.2295354Z             },
2026-06-02T10:47:23.2295468Z             {
2026-06-02T10:47:23.2295624Z               "path": "crates/spt-store/src/registry.rs",
2026-06-02T10:47:23.2295747Z               "line": 96
2026-06-02T10:47:23.2295857Z             },
2026-06-02T10:47:23.2295969Z             {
2026-06-02T10:47:23.2296128Z               "path": "crates/spt-store/src/registry.rs",
2026-06-02T10:47:23.2296246Z               "line": 116
2026-06-02T10:47:23.2296351Z             }
2026-06-02T10:47:23.2296458Z           ]
2026-06-02T10:47:23.2296573Z         },
2026-06-02T10:47:23.2296685Z         "int": {
2026-06-02T10:47:23.2296823Z           "complete": false,
2026-06-02T10:47:23.2296948Z           "evidence": []
2026-06-02T10:47:23.2297053Z         },
2026-06-02T10:47:23.2297173Z         "unit": {
2026-06-02T10:47:23.2297290Z           "complete": true,
2026-06-02T10:47:23.2297518Z           "evidence": [
2026-06-02T10:47:23.2297624Z             {
2026-06-02T10:47:23.2297779Z               "path": "crates/spt-store/src/proc.rs",
2026-06-02T10:47:23.2297900Z               "line": 103
2026-06-02T10:47:23.2298008Z             },
2026-06-02T10:47:23.2298123Z             {
2026-06-02T10:47:23.2298271Z               "path": "crates/spt-store/src/proc.rs",
2026-06-02T10:47:23.2298395Z               "line": 109
2026-06-02T10:47:23.2298501Z             },
2026-06-02T10:47:23.2298622Z             {
2026-06-02T10:47:23.2298790Z               "path": "crates/spt-store/src/registry.rs",
2026-06-02T10:47:23.2298909Z               "line": 171
2026-06-02T10:47:23.2299022Z             },
2026-06-02T10:47:23.2299131Z             {
2026-06-02T10:47:23.2299433Z               "path": "crates/spt-store/src/registry.rs",
2026-06-02T10:47:23.2299672Z               "line": 181
2026-06-02T10:47:23.2299780Z             },
2026-06-02T10:47:23.2299893Z             {
2026-06-02T10:47:23.2300052Z               "path": "crates/spt-store/src/registry.rs",
2026-06-02T10:47:23.2300175Z               "line": 195
2026-06-02T10:47:23.2300282Z             },
2026-06-02T10:47:23.2300395Z             {
2026-06-02T10:47:23.2300554Z               "path": "crates/spt-store/src/registry.rs",
2026-06-02T10:47:23.2300668Z               "line": 207
2026-06-02T10:47:23.2300780Z             },
2026-06-02T10:47:23.2300886Z             {
2026-06-02T10:47:23.2301050Z               "path": "crates/spt-store/src/registry.rs",
2026-06-02T10:47:23.2301170Z               "line": 215
2026-06-02T10:47:23.2301289Z             }
2026-06-02T10:47:23.2301407Z           ]
2026-06-02T10:47:23.2301518Z         }
2026-06-02T10:47:23.2301633Z       }
2026-06-02T10:47:23.2301738Z     },
2026-06-02T10:47:23.2301858Z     {
2026-06-02T10:47:23.2302018Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-02T10:47:23.2302391Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-02T10:47:23.2302525Z       "requiredStages": [],
2026-06-02T10:47:23.2302640Z       "stages": {
2026-06-02T10:47:23.2302757Z         "doc": {
2026-06-02T10:47:23.2302884Z           "complete": false,
2026-06-02T10:47:23.2303011Z           "evidence": []
2026-06-02T10:47:23.2303121Z         },
2026-06-02T10:47:23.2303240Z         "impl": {
2026-06-02T10:47:23.2303368Z           "complete": false,
2026-06-02T10:47:23.2303486Z           "evidence": []
2026-06-02T10:47:23.2303598Z         },
2026-06-02T10:47:23.2303710Z         "int": {
2026-06-02T10:47:23.2303840Z           "complete": false,
2026-06-02T10:47:23.2303959Z           "evidence": []
2026-06-02T10:47:23.2304074Z         },
2026-06-02T10:47:23.2304192Z         "unit": {
2026-06-02T10:47:23.2304321Z           "complete": false,
2026-06-02T10:47:23.2304446Z           "evidence": []
2026-06-02T10:47:23.2304558Z         }
2026-06-02T10:47:23.2304672Z       }
2026-06-02T10:47:23.2304779Z     },
2026-06-02T10:47:23.2304891Z     {
2026-06-02T10:47:23.2305048Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-02T10:47:23.2305304Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-02T10:47:23.2305433Z       "requiredStages": [
2026-06-02T10:47:23.2305542Z         "impl",
2026-06-02T10:47:23.2305653Z         "unit"
2026-06-02T10:47:23.2305759Z       ],
2026-06-02T10:47:23.2305874Z       "stages": {
2026-06-02T10:47:23.2305990Z         "doc": {
2026-06-02T10:47:23.2306113Z           "complete": false,
2026-06-02T10:47:23.2306238Z           "evidence": []
2026-06-02T10:47:23.2306345Z         },
2026-06-02T10:47:23.2306464Z         "impl": {
2026-06-02T10:47:23.2306587Z           "complete": true,
2026-06-02T10:47:23.2306715Z           "evidence": [
2026-06-02T10:47:23.2306834Z             {
2026-06-02T10:47:23.2306999Z               "path": "crates/spt-store/src/perch.rs",
2026-06-02T10:47:23.2307129Z               "line": 33
2026-06-02T10:47:23.2307234Z             },
2026-06-02T10:47:23.2307549Z             {
2026-06-02T10:47:23.2307790Z               "path": "crates/spt-store/src/perch.rs",
2026-06-02T10:47:23.2307921Z               "line": 61
2026-06-02T10:47:23.2308032Z             },
2026-06-02T10:47:23.2308137Z             {
2026-06-02T10:47:23.2308303Z               "path": "crates/spt-store/src/perch.rs",
2026-06-02T10:47:23.2308425Z               "line": 128
2026-06-02T10:47:23.2308539Z             }
2026-06-02T10:47:23.2308645Z           ]
2026-06-02T10:47:23.2308766Z         },
2026-06-02T10:47:23.2308879Z         "int": {
2026-06-02T10:47:23.2309001Z           "complete": false,
2026-06-02T10:47:23.2309122Z           "evidence": []
2026-06-02T10:47:23.2309227Z         },
2026-06-02T10:47:23.2309344Z         "unit": {
2026-06-02T10:47:23.2309466Z           "complete": true,
2026-06-02T10:47:23.2309736Z           "evidence": [
2026-06-02T10:47:23.2309963Z             {
2026-06-02T10:47:23.2310118Z               "path": "crates/spt-store/src/perch.rs",
2026-06-02T10:47:23.2310244Z               "line": 258
2026-06-02T10:47:23.2310353Z             },
2026-06-02T10:47:23.2310469Z             {
2026-06-02T10:47:23.2310625Z               "path": "crates/spt-store/src/perch.rs",
2026-06-02T10:47:23.2310751Z               "line": 284
2026-06-02T10:47:23.2310864Z             },
2026-06-02T10:47:23.2310971Z             {
2026-06-02T10:47:23.2311127Z               "path": "crates/spt-store/src/perch.rs",
2026-06-02T10:47:23.2311241Z               "line": 297
2026-06-02T10:47:23.2311355Z             },
2026-06-02T10:47:23.2311462Z             {
2026-06-02T10:47:23.2311626Z               "path": "crates/spt-store/src/perch.rs",
2026-06-02T10:47:23.2311751Z               "line": 310
2026-06-02T10:47:23.2311860Z             }
2026-06-02T10:47:23.2311966Z           ]
2026-06-02T10:47:23.2312076Z         }
2026-06-02T10:47:23.2312188Z       }
2026-06-02T10:47:23.2312296Z     },
2026-06-02T10:47:23.2312407Z     {
2026-06-02T10:47:23.2312557Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-02T10:47:23.2312831Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-02T10:47:23.2312961Z       "requiredStages": [
2026-06-02T10:47:23.2313070Z         "impl",
2026-06-02T10:47:23.2313183Z         "unit"
2026-06-02T10:47:23.2313289Z       ],
2026-06-02T10:47:23.2313410Z       "stages": {
2026-06-02T10:47:23.2313525Z         "doc": {
2026-06-02T10:47:23.2313648Z           "complete": false,
2026-06-02T10:47:23.2313771Z           "evidence": []
2026-06-02T10:47:23.2313876Z         },
2026-06-02T10:47:23.2313991Z         "impl": {
2026-06-02T10:47:23.2314110Z           "complete": true,
2026-06-02T10:47:23.2314234Z           "evidence": [
2026-06-02T10:47:23.2314347Z             {
2026-06-02T10:47:23.2314499Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-02T10:47:23.2314632Z               "line": 107
2026-06-02T10:47:23.2314746Z             },
2026-06-02T10:47:23.2314865Z             {
2026-06-02T10:47:23.2315036Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.2315158Z               "line": 59
2026-06-02T10:47:23.2315270Z             }
2026-06-02T10:47:23.2315376Z           ]
2026-06-02T10:47:23.2315493Z         },
2026-06-02T10:47:23.2315602Z         "int": {
2026-06-02T10:47:23.2315728Z           "complete": false,
2026-06-02T10:47:23.2315842Z           "evidence": []
2026-06-02T10:47:23.2315955Z         },
2026-06-02T10:47:23.2316065Z         "unit": {
2026-06-02T10:47:23.2316184Z           "complete": true,
2026-06-02T10:47:23.2316305Z           "evidence": [
2026-06-02T10:47:23.2316410Z             {
2026-06-02T10:47:23.2316564Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-02T10:47:23.2316680Z               "line": 225
2026-06-02T10:47:23.2316787Z             },
2026-06-02T10:47:23.2316893Z             {
2026-06-02T10:47:23.2317058Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.2317183Z               "line": 247
2026-06-02T10:47:23.2317292Z             },
2026-06-02T10:47:23.2317551Z             {
2026-06-02T10:47:23.2317711Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.2317834Z               "line": 257
2026-06-02T10:47:23.2317957Z             }
2026-06-02T10:47:23.2318064Z           ]
2026-06-02T10:47:23.2318178Z         }
2026-06-02T10:47:23.2318286Z       }
2026-06-02T10:47:23.2318396Z     },
2026-06-02T10:47:23.2318502Z     {
2026-06-02T10:47:23.2318658Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-02T10:47:23.2318857Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-02T10:47:23.2318985Z       "requiredStages": [],
2026-06-02T10:47:23.2319100Z       "stages": {
2026-06-02T10:47:23.2319208Z         "doc": {
2026-06-02T10:47:23.2319339Z           "complete": false,
2026-06-02T10:47:23.2319458Z           "evidence": []
2026-06-02T10:47:23.2319718Z         },
2026-06-02T10:47:23.2319986Z         "impl": {
2026-06-02T10:47:23.2320107Z           "complete": false,
2026-06-02T10:47:23.2320227Z           "evidence": []
2026-06-02T10:47:23.2320333Z         },
2026-06-02T10:47:23.2320447Z         "int": {
2026-06-02T10:47:23.2320568Z           "complete": false,
2026-06-02T10:47:23.2320692Z           "evidence": []
2026-06-02T10:47:23.2320804Z         },
2026-06-02T10:47:23.2320913Z         "unit": {
2026-06-02T10:47:23.2321038Z           "complete": false,
2026-06-02T10:47:23.2321154Z           "evidence": []
2026-06-02T10:47:23.2321267Z         }
2026-06-02T10:47:23.2321373Z       }
2026-06-02T10:47:23.2321481Z     },
2026-06-02T10:47:23.2321601Z     {
2026-06-02T10:47:23.2321765Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-02T10:47:23.2321994Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-02T10:47:23.2322118Z       "requiredStages": [
2026-06-02T10:47:23.2322235Z         "impl",
2026-06-02T10:47:23.2322357Z         "unit"
2026-06-02T10:47:23.2322471Z       ],
2026-06-02T10:47:23.2322588Z       "stages": {
2026-06-02T10:47:23.2322694Z         "doc": {
2026-06-02T10:47:23.2322814Z           "complete": false,
2026-06-02T10:47:23.2322928Z           "evidence": []
2026-06-02T10:47:23.2323034Z         },
2026-06-02T10:47:23.2323145Z         "impl": {
2026-06-02T10:47:23.2323273Z           "complete": true,
2026-06-02T10:47:23.2323401Z           "evidence": [
2026-06-02T10:47:23.2323509Z             {
2026-06-02T10:47:23.2323681Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-02T10:47:23.2323794Z               "line": 28
2026-06-02T10:47:23.2323904Z             }
2026-06-02T10:47:23.2324016Z           ]
2026-06-02T10:47:23.2324123Z         },
2026-06-02T10:47:23.2324240Z         "int": {
2026-06-02T10:47:23.2324359Z           "complete": false,
2026-06-02T10:47:23.2324481Z           "evidence": []
2026-06-02T10:47:23.2324587Z         },
2026-06-02T10:47:23.2324704Z         "unit": {
2026-06-02T10:47:23.2324834Z           "complete": true,
2026-06-02T10:47:23.2324969Z           "evidence": [
2026-06-02T10:47:23.2325085Z             {
2026-06-02T10:47:23.2325243Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-02T10:47:23.2325363Z               "line": 199
2026-06-02T10:47:23.2325469Z             }
2026-06-02T10:47:23.2325576Z           ]
2026-06-02T10:47:23.2325682Z         }
2026-06-02T10:47:23.2325788Z       }
2026-06-02T10:47:23.2325891Z     },
2026-06-02T10:47:23.2326002Z     {
2026-06-02T10:47:23.2326151Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-02T10:47:23.2326329Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-02T10:47:23.2326461Z       "requiredStages": [],
2026-06-02T10:47:23.2326574Z       "stages": {
2026-06-02T10:47:23.2326689Z         "doc": {
2026-06-02T10:47:23.2326816Z           "complete": false,
2026-06-02T10:47:23.2326933Z           "evidence": []
2026-06-02T10:47:23.2327048Z         },
2026-06-02T10:47:23.2327169Z         "impl": {
2026-06-02T10:47:23.2327296Z           "complete": false,
2026-06-02T10:47:23.2327541Z           "evidence": []
2026-06-02T10:47:23.2327654Z         },
2026-06-02T10:47:23.2327769Z         "int": {
2026-06-02T10:47:23.2327888Z           "complete": false,
2026-06-02T10:47:23.2328010Z           "evidence": []
2026-06-02T10:47:23.2328114Z         },
2026-06-02T10:47:23.2328225Z         "unit": {
2026-06-02T10:47:23.2328342Z           "complete": false,
2026-06-02T10:47:23.2328463Z           "evidence": []
2026-06-02T10:47:23.2328574Z         }
2026-06-02T10:47:23.2328681Z       }
2026-06-02T10:47:23.2328792Z     },
2026-06-02T10:47:23.2328895Z     {
2026-06-02T10:47:23.2329058Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-02T10:47:23.2329264Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-02T10:47:23.2329391Z       "requiredStages": [
2026-06-02T10:47:23.2329506Z         "impl",
2026-06-02T10:47:23.2329613Z         "unit"
2026-06-02T10:47:23.2329726Z       ],
2026-06-02T10:47:23.2330021Z       "stages": {
2026-06-02T10:47:23.2330245Z         "doc": {
2026-06-02T10:47:23.2330367Z           "complete": false,
2026-06-02T10:47:23.2330490Z           "evidence": []
2026-06-02T10:47:23.2330601Z         },
2026-06-02T10:47:23.2330710Z         "impl": {
2026-06-02T10:47:23.2330832Z           "complete": true,
2026-06-02T10:47:23.2330949Z           "evidence": [
2026-06-02T10:47:23.2331061Z             {
2026-06-02T10:47:23.2331230Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-02T10:47:23.2331352Z               "line": 325
2026-06-02T10:47:23.2331463Z             },
2026-06-02T10:47:23.2331570Z             {
2026-06-02T10:47:23.2331740Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-02T10:47:23.2331857Z               "line": 361
2026-06-02T10:47:23.2331971Z             }
2026-06-02T10:47:23.2332075Z           ]
2026-06-02T10:47:23.2332187Z         },
2026-06-02T10:47:23.2332302Z         "int": {
2026-06-02T10:47:23.2332430Z           "complete": false,
2026-06-02T10:47:23.2332554Z           "evidence": []
2026-06-02T10:47:23.2332665Z         },
2026-06-02T10:47:23.2332777Z         "unit": {
2026-06-02T10:47:23.2332896Z           "complete": true,
2026-06-02T10:47:23.2333016Z           "evidence": [
2026-06-02T10:47:23.2333128Z             {
2026-06-02T10:47:23.2333290Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-02T10:47:23.2333414Z               "line": 453
2026-06-02T10:47:23.2333520Z             }
2026-06-02T10:47:23.2333632Z           ]
2026-06-02T10:47:23.2333739Z         }
2026-06-02T10:47:23.2333851Z       }
2026-06-02T10:47:23.2333959Z     },
2026-06-02T10:47:23.2334061Z     {
2026-06-02T10:47:23.2334219Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-02T10:47:23.2334426Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-02T10:47:23.2334557Z       "requiredStages": [
2026-06-02T10:47:23.2334668Z         "impl",
2026-06-02T10:47:23.2334781Z         "unit"
2026-06-02T10:47:23.2334900Z       ],
2026-06-02T10:47:23.2335011Z       "stages": {
2026-06-02T10:47:23.2335133Z         "doc": {
2026-06-02T10:47:23.2335255Z           "complete": false,
2026-06-02T10:47:23.2335381Z           "evidence": []
2026-06-02T10:47:23.2335489Z         },
2026-06-02T10:47:23.2335603Z         "impl": {
2026-06-02T10:47:23.2335730Z           "complete": true,
2026-06-02T10:47:23.2335846Z           "evidence": [
2026-06-02T10:47:23.2335958Z             {
2026-06-02T10:47:23.2336115Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-02T10:47:23.2336233Z               "line": 35
2026-06-02T10:47:23.2336337Z             }
2026-06-02T10:47:23.2336443Z           ]
2026-06-02T10:47:23.2336553Z         },
2026-06-02T10:47:23.2336659Z         "int": {
2026-06-02T10:47:23.2336786Z           "complete": false,
2026-06-02T10:47:23.2337552Z           "evidence": []
2026-06-02T10:47:23.2337666Z         },
2026-06-02T10:47:23.2337776Z         "unit": {
2026-06-02T10:47:23.2337906Z           "complete": true,
2026-06-02T10:47:23.2338041Z           "evidence": [
2026-06-02T10:47:23.2338157Z             {
2026-06-02T10:47:23.2338322Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-02T10:47:23.2338439Z               "line": 217
2026-06-02T10:47:23.2338553Z             }
2026-06-02T10:47:23.2338667Z           ]
2026-06-02T10:47:23.2338772Z         }
2026-06-02T10:47:23.2338888Z       }
2026-06-02T10:47:23.2338992Z     },
2026-06-02T10:47:23.2339103Z     {
2026-06-02T10:47:23.2339247Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-02T10:47:23.2339617Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-02T10:47:23.2339748Z       "requiredStages": [],
2026-06-02T10:47:23.2339859Z       "stages": {
2026-06-02T10:47:23.2339972Z         "doc": {
2026-06-02T10:47:23.2340093Z           "complete": false,
2026-06-02T10:47:23.2340217Z           "evidence": []
2026-06-02T10:47:23.2340322Z         },
2026-06-02T10:47:23.2340443Z         "impl": {
2026-06-02T10:47:23.2340719Z           "complete": false,
2026-06-02T10:47:23.2340946Z           "evidence": []
2026-06-02T10:47:23.2341055Z         },
2026-06-02T10:47:23.2341163Z         "int": {
2026-06-02T10:47:23.2341288Z           "complete": false,
2026-06-02T10:47:23.2341406Z           "evidence": []
2026-06-02T10:47:23.2341520Z         },
2026-06-02T10:47:23.2341633Z         "unit": {
2026-06-02T10:47:23.2341753Z           "complete": false,
2026-06-02T10:47:23.2341873Z           "evidence": []
2026-06-02T10:47:23.2341980Z         }
2026-06-02T10:47:23.2342091Z       }
2026-06-02T10:47:23.2342195Z     },
2026-06-02T10:47:23.2342306Z     {
2026-06-02T10:47:23.2342463Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-02T10:47:23.2342688Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-02T10:47:23.2342813Z       "requiredStages": [
2026-06-02T10:47:23.2342924Z         "impl",
2026-06-02T10:47:23.2343037Z         "unit"
2026-06-02T10:47:23.2343141Z       ],
2026-06-02T10:47:23.2343270Z       "stages": {
2026-06-02T10:47:23.2343394Z         "doc": {
2026-06-02T10:47:23.2343516Z           "complete": false,
2026-06-02T10:47:23.2343638Z           "evidence": []
2026-06-02T10:47:23.2343743Z         },
2026-06-02T10:47:23.2343859Z         "impl": {
2026-06-02T10:47:23.2343975Z           "complete": true,
2026-06-02T10:47:23.2344097Z           "evidence": [
2026-06-02T10:47:23.2344202Z             {
2026-06-02T10:47:23.2344367Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-02T10:47:23.2344488Z               "line": 91
2026-06-02T10:47:23.2344632Z             },
2026-06-02T10:47:23.2344747Z             {
2026-06-02T10:47:23.2344900Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2345020Z               "line": 82
2026-06-02T10:47:23.2345134Z             }
2026-06-02T10:47:23.2345242Z           ]
2026-06-02T10:47:23.2345353Z         },
2026-06-02T10:47:23.2345460Z         "int": {
2026-06-02T10:47:23.2345588Z           "complete": false,
2026-06-02T10:47:23.2345715Z           "evidence": []
2026-06-02T10:47:23.2345833Z         },
2026-06-02T10:47:23.2345940Z         "unit": {
2026-06-02T10:47:23.2346063Z           "complete": true,
2026-06-02T10:47:23.2346183Z           "evidence": [
2026-06-02T10:47:23.2346290Z             {
2026-06-02T10:47:23.2346445Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-02T10:47:23.2346560Z               "line": 233
2026-06-02T10:47:23.2346674Z             },
2026-06-02T10:47:23.2346786Z             {
2026-06-02T10:47:23.2346940Z               "path": "crates/spt-store/src/proc.rs",
2026-06-02T10:47:23.2347065Z               "line": 120
2026-06-02T10:47:23.2347173Z             },
2026-06-02T10:47:23.2347286Z             {
2026-06-02T10:47:23.2347686Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2347840Z               "line": 328
2026-06-02T10:47:23.2347954Z             },
2026-06-02T10:47:23.2348063Z             {
2026-06-02T10:47:23.2348218Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2348353Z               "line": 354
2026-06-02T10:47:23.2348464Z             }
2026-06-02T10:47:23.2348571Z           ]
2026-06-02T10:47:23.2348685Z         }
2026-06-02T10:47:23.2348795Z       }
2026-06-02T10:47:23.2348900Z     },
2026-06-02T10:47:23.2349009Z     {
2026-06-02T10:47:23.2349148Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-02T10:47:23.2349404Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-02T10:47:23.2349530Z       "requiredStages": [
2026-06-02T10:47:23.2349646Z         "impl",
2026-06-02T10:47:23.2349761Z         "unit"
2026-06-02T10:47:23.2349868Z       ],
2026-06-02T10:47:23.2349982Z       "stages": {
2026-06-02T10:47:23.2350088Z         "doc": {
2026-06-02T10:47:23.2350214Z           "complete": false,
2026-06-02T10:47:23.2350331Z           "evidence": []
2026-06-02T10:47:23.2350441Z         },
2026-06-02T10:47:23.2350559Z         "impl": {
2026-06-02T10:47:23.2350679Z           "complete": true,
2026-06-02T10:47:23.2350946Z           "evidence": [
2026-06-02T10:47:23.2351161Z             {
2026-06-02T10:47:23.2351319Z               "path": "crates/spt-store/src/perch.rs",
2026-06-02T10:47:23.2351434Z               "line": 84
2026-06-02T10:47:23.2351545Z             },
2026-06-02T10:47:23.2351653Z             {
2026-06-02T10:47:23.2351804Z               "path": "crates/spt-store/src/perch.rs",
2026-06-02T10:47:23.2351922Z               "line": 129
2026-06-02T10:47:23.2352027Z             }
2026-06-02T10:47:23.2352136Z           ]
2026-06-02T10:47:23.2352238Z         },
2026-06-02T10:47:23.2352353Z         "int": {
2026-06-02T10:47:23.2352480Z           "complete": false,
2026-06-02T10:47:23.2352597Z           "evidence": []
2026-06-02T10:47:23.2352707Z         },
2026-06-02T10:47:23.2352817Z         "unit": {
2026-06-02T10:47:23.2352946Z           "complete": true,
2026-06-02T10:47:23.2353062Z           "evidence": [
2026-06-02T10:47:23.2353178Z             {
2026-06-02T10:47:23.2353336Z               "path": "crates/spt-store/src/perch.rs",
2026-06-02T10:47:23.2353465Z               "line": 238
2026-06-02T10:47:23.2353577Z             },
2026-06-02T10:47:23.2353687Z             {
2026-06-02T10:47:23.2353844Z               "path": "crates/spt-store/src/perch.rs",
2026-06-02T10:47:23.2353959Z               "line": 267
2026-06-02T10:47:23.2354073Z             }
2026-06-02T10:47:23.2354187Z           ]
2026-06-02T10:47:23.2354295Z         }
2026-06-02T10:47:23.2354410Z       }
2026-06-02T10:47:23.2354512Z     },
2026-06-02T10:47:23.2354621Z     {
2026-06-02T10:47:23.2354742Z       "id": "REQ-INFRA-1",
2026-06-02T10:47:23.2354993Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-02T10:47:23.2355125Z       "requiredStages": [],
2026-06-02T10:47:23.2355234Z       "stages": {
2026-06-02T10:47:23.2355348Z         "doc": {
2026-06-02T10:47:23.2355468Z           "complete": false,
2026-06-02T10:47:23.2355589Z           "evidence": []
2026-06-02T10:47:23.2355697Z         },
2026-06-02T10:47:23.2355820Z         "impl": {
2026-06-02T10:47:23.2355955Z           "complete": false,
2026-06-02T10:47:23.2356070Z           "evidence": []
2026-06-02T10:47:23.2356184Z         },
2026-06-02T10:47:23.2356310Z         "int": {
2026-06-02T10:47:23.2356438Z           "complete": false,
2026-06-02T10:47:23.2356557Z           "evidence": []
2026-06-02T10:47:23.2356668Z         },
2026-06-02T10:47:23.2356780Z         "unit": {
2026-06-02T10:47:23.2356908Z           "complete": false,
2026-06-02T10:47:23.2357032Z           "evidence": []
2026-06-02T10:47:23.2357137Z         }
2026-06-02T10:47:23.2357247Z       }
2026-06-02T10:47:23.2357472Z     },
2026-06-02T10:47:23.2357582Z     {
2026-06-02T10:47:23.2357707Z       "id": "REQ-INST-1",
2026-06-02T10:47:23.2357920Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-02T10:47:23.2358046Z       "requiredStages": [],
2026-06-02T10:47:23.2358158Z       "stages": {
2026-06-02T10:47:23.2358269Z         "doc": {
2026-06-02T10:47:23.2358574Z           "complete": false,
2026-06-02T10:47:23.2358744Z           "evidence": []
2026-06-02T10:47:23.2358876Z         },
2026-06-02T10:47:23.2359011Z         "impl": {
2026-06-02T10:47:23.2359173Z           "complete": false,
2026-06-02T10:47:23.2359324Z           "evidence": []
2026-06-02T10:47:23.2359470Z         },
2026-06-02T10:47:23.2359614Z         "int": {
2026-06-02T10:47:23.2359780Z           "complete": false,
2026-06-02T10:47:23.2359953Z           "evidence": []
2026-06-02T10:47:23.2360087Z         },
2026-06-02T10:47:23.2360232Z         "unit": {
2026-06-02T10:47:23.2360382Z           "complete": false,
2026-06-02T10:47:23.2360546Z           "evidence": []
2026-06-02T10:47:23.2360690Z         }
2026-06-02T10:47:23.2360846Z       }
2026-06-02T10:47:23.2360985Z     },
2026-06-02T10:47:23.2361140Z     {
2026-06-02T10:47:23.2361327Z       "id": "REQ-INST-10",
2026-06-02T10:47:23.2361761Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-02T10:47:23.2362144Z       "requiredStages": [],
2026-06-02T10:47:23.2362384Z       "stages": {
2026-06-02T10:47:23.2362504Z         "doc": {
2026-06-02T10:47:23.2362637Z           "complete": false,
2026-06-02T10:47:23.2362759Z           "evidence": []
2026-06-02T10:47:23.2362874Z         },
2026-06-02T10:47:23.2362985Z         "impl": {
2026-06-02T10:47:23.2363118Z           "complete": false,
2026-06-02T10:47:23.2363233Z           "evidence": []
2026-06-02T10:47:23.2363346Z         },
2026-06-02T10:47:23.2363461Z         "int": {
2026-06-02T10:47:23.2363580Z           "complete": false,
2026-06-02T10:47:23.2363702Z           "evidence": []
2026-06-02T10:47:23.2363808Z         },
2026-06-02T10:47:23.2363919Z         "unit": {
2026-06-02T10:47:23.2364038Z           "complete": false,
2026-06-02T10:47:23.2364157Z           "evidence": []
2026-06-02T10:47:23.2364276Z         }
2026-06-02T10:47:23.2364384Z       }
2026-06-02T10:47:23.2364495Z     },
2026-06-02T10:47:23.2364597Z     {
2026-06-02T10:47:23.2364736Z       "id": "REQ-INST-11",
2026-06-02T10:47:23.2365042Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-02T10:47:23.2365183Z       "requiredStages": [],
2026-06-02T10:47:23.2365297Z       "stages": {
2026-06-02T10:47:23.2365409Z         "doc": {
2026-06-02T10:47:23.2365536Z           "complete": false,
2026-06-02T10:47:23.2365652Z           "evidence": []
2026-06-02T10:47:23.2365768Z         },
2026-06-02T10:47:23.2365878Z         "impl": {
2026-06-02T10:47:23.2366008Z           "complete": false,
2026-06-02T10:47:23.2366136Z           "evidence": []
2026-06-02T10:47:23.2366243Z         },
2026-06-02T10:47:23.2366358Z         "int": {
2026-06-02T10:47:23.2366478Z           "complete": false,
2026-06-02T10:47:23.2366602Z           "evidence": []
2026-06-02T10:47:23.2366707Z         },
2026-06-02T10:47:23.2366828Z         "unit": {
2026-06-02T10:47:23.2366949Z           "complete": false,
2026-06-02T10:47:23.2367072Z           "evidence": []
2026-06-02T10:47:23.2367189Z         }
2026-06-02T10:47:23.2367293Z       }
2026-06-02T10:47:23.2367565Z     },
2026-06-02T10:47:23.2367672Z     {
2026-06-02T10:47:23.2367803Z       "id": "REQ-INST-12",
2026-06-02T10:47:23.2368193Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-02T10:47:23.2368327Z       "requiredStages": [],
2026-06-02T10:47:23.2368442Z       "stages": {
2026-06-02T10:47:23.2368555Z         "doc": {
2026-06-02T10:47:23.2368682Z           "complete": false,
2026-06-02T10:47:23.2368798Z           "evidence": []
2026-06-02T10:47:23.2368912Z         },
2026-06-02T10:47:23.2369031Z         "impl": {
2026-06-02T10:47:23.2369153Z           "complete": false,
2026-06-02T10:47:23.2369276Z           "evidence": []
2026-06-02T10:47:23.2369382Z         },
2026-06-02T10:47:23.2369497Z         "int": {
2026-06-02T10:47:23.2369616Z           "complete": false,
2026-06-02T10:47:23.2369740Z           "evidence": []
2026-06-02T10:47:23.2369864Z         },
2026-06-02T10:47:23.2369973Z         "unit": {
2026-06-02T10:47:23.2370108Z           "complete": false,
2026-06-02T10:47:23.2370226Z           "evidence": []
2026-06-02T10:47:23.2370342Z         }
2026-06-02T10:47:23.2370448Z       }
2026-06-02T10:47:23.2370562Z     },
2026-06-02T10:47:23.2370665Z     {
2026-06-02T10:47:23.2370795Z       "id": "REQ-INST-13",
2026-06-02T10:47:23.2371049Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-02T10:47:23.2371179Z       "requiredStages": [],
2026-06-02T10:47:23.2371298Z       "stages": {
2026-06-02T10:47:23.2371408Z         "doc": {
2026-06-02T10:47:23.2371539Z           "complete": false,
2026-06-02T10:47:23.2371665Z           "evidence": []
2026-06-02T10:47:23.2371771Z         },
2026-06-02T10:47:23.2371888Z         "impl": {
2026-06-02T10:47:23.2372008Z           "complete": false,
2026-06-02T10:47:23.2372130Z           "evidence": []
2026-06-02T10:47:23.2372236Z         },
2026-06-02T10:47:23.2372351Z         "int": {
2026-06-02T10:47:23.2372616Z           "complete": false,
2026-06-02T10:47:23.2372863Z           "evidence": []
2026-06-02T10:47:23.2372979Z         },
2026-06-02T10:47:23.2373087Z         "unit": {
2026-06-02T10:47:23.2373215Z           "complete": false,
2026-06-02T10:47:23.2373332Z           "evidence": []
2026-06-02T10:47:23.2373441Z         }
2026-06-02T10:47:23.2373551Z       }
2026-06-02T10:47:23.2373664Z     },
2026-06-02T10:47:23.2373771Z     {
2026-06-02T10:47:23.2373893Z       "id": "REQ-INST-14",
2026-06-02T10:47:23.2374400Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-02T10:47:23.2374524Z       "requiredStages": [],
2026-06-02T10:47:23.2374643Z       "stages": {
2026-06-02T10:47:23.2374759Z         "doc": {
2026-06-02T10:47:23.2374880Z           "complete": false,
2026-06-02T10:47:23.2375004Z           "evidence": []
2026-06-02T10:47:23.2375108Z         },
2026-06-02T10:47:23.2375238Z         "impl": {
2026-06-02T10:47:23.2375362Z           "complete": false,
2026-06-02T10:47:23.2375495Z           "evidence": []
2026-06-02T10:47:23.2375609Z         },
2026-06-02T10:47:23.2375721Z         "int": {
2026-06-02T10:47:23.2375850Z           "complete": false,
2026-06-02T10:47:23.2375969Z           "evidence": []
2026-06-02T10:47:23.2376083Z         },
2026-06-02T10:47:23.2376194Z         "unit": {
2026-06-02T10:47:23.2376325Z           "complete": false,
2026-06-02T10:47:23.2376446Z           "evidence": []
2026-06-02T10:47:23.2376550Z         }
2026-06-02T10:47:23.2376661Z       }
2026-06-02T10:47:23.2376767Z     },
2026-06-02T10:47:23.2376877Z     {
2026-06-02T10:47:23.2376998Z       "id": "REQ-INST-2",
2026-06-02T10:47:23.2377177Z       "title": "Per-node files, synced Psyche mind",
2026-06-02T10:47:23.2377301Z       "requiredStages": [],
2026-06-02T10:47:23.2377544Z       "stages": {
2026-06-02T10:47:23.2377661Z         "doc": {
2026-06-02T10:47:23.2377781Z           "complete": false,
2026-06-02T10:47:23.2377912Z           "evidence": []
2026-06-02T10:47:23.2378026Z         },
2026-06-02T10:47:23.2378147Z         "impl": {
2026-06-02T10:47:23.2378267Z           "complete": false,
2026-06-02T10:47:23.2378390Z           "evidence": []
2026-06-02T10:47:23.2378501Z         },
2026-06-02T10:47:23.2378609Z         "int": {
2026-06-02T10:47:23.2378735Z           "complete": false,
2026-06-02T10:47:23.2378851Z           "evidence": []
2026-06-02T10:47:23.2378965Z         },
2026-06-02T10:47:23.2379073Z         "unit": {
2026-06-02T10:47:23.2379200Z           "complete": false,
2026-06-02T10:47:23.2379320Z           "evidence": []
2026-06-02T10:47:23.2379427Z         }
2026-06-02T10:47:23.2379541Z       }
2026-06-02T10:47:23.2379647Z     },
2026-06-02T10:47:23.2379759Z     {
2026-06-02T10:47:23.2379880Z       "id": "REQ-INST-3",
2026-06-02T10:47:23.2380100Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-02T10:47:23.2380232Z       "requiredStages": [],
2026-06-02T10:47:23.2380352Z       "stages": {
2026-06-02T10:47:23.2380468Z         "doc": {
2026-06-02T10:47:23.2380597Z           "complete": false,
2026-06-02T10:47:23.2380722Z           "evidence": []
2026-06-02T10:47:23.2380827Z         },
2026-06-02T10:47:23.2380945Z         "impl": {
2026-06-02T10:47:23.2381075Z           "complete": false,
2026-06-02T10:47:23.2381191Z           "evidence": []
2026-06-02T10:47:23.2381305Z         },
2026-06-02T10:47:23.2381414Z         "int": {
2026-06-02T10:47:23.2381543Z           "complete": false,
2026-06-02T10:47:23.2381660Z           "evidence": []
2026-06-02T10:47:23.2381774Z         },
2026-06-02T10:47:23.2381892Z         "unit": {
2026-06-02T10:47:23.2382012Z           "complete": false,
2026-06-02T10:47:23.2382135Z           "evidence": []
2026-06-02T10:47:23.2382241Z         }
2026-06-02T10:47:23.2382351Z       }
2026-06-02T10:47:23.2382454Z     },
2026-06-02T10:47:23.2382567Z     {
2026-06-02T10:47:23.2382690Z       "id": "REQ-INST-4",
2026-06-02T10:47:23.2382923Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-02T10:47:23.2383314Z       "requiredStages": [],
2026-06-02T10:47:23.2383427Z       "stages": {
2026-06-02T10:47:23.2383546Z         "doc": {
2026-06-02T10:47:23.2383670Z           "complete": false,
2026-06-02T10:47:23.2383798Z           "evidence": []
2026-06-02T10:47:23.2383908Z         },
2026-06-02T10:47:23.2384019Z         "impl": {
2026-06-02T10:47:23.2384150Z           "complete": false,
2026-06-02T10:47:23.2384268Z           "evidence": []
2026-06-02T10:47:23.2384381Z         },
2026-06-02T10:47:23.2384488Z         "int": {
2026-06-02T10:47:23.2384616Z           "complete": false,
2026-06-02T10:47:23.2384741Z           "evidence": []
2026-06-02T10:47:23.2384845Z         },
2026-06-02T10:47:23.2384966Z         "unit": {
2026-06-02T10:47:23.2385085Z           "complete": false,
2026-06-02T10:47:23.2385210Z           "evidence": []
2026-06-02T10:47:23.2385315Z         }
2026-06-02T10:47:23.2385431Z       }
2026-06-02T10:47:23.2385550Z     },
2026-06-02T10:47:23.2385656Z     {
2026-06-02T10:47:23.2385790Z       "id": "REQ-INST-5",
2026-06-02T10:47:23.2386032Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-02T10:47:23.2386166Z       "requiredStages": [],
2026-06-02T10:47:23.2386280Z       "stages": {
2026-06-02T10:47:23.2386400Z         "doc": {
2026-06-02T10:47:23.2386529Z           "complete": false,
2026-06-02T10:47:23.2386645Z           "evidence": []
2026-06-02T10:47:23.2386761Z         },
2026-06-02T10:47:23.2386872Z         "impl": {
2026-06-02T10:47:23.2387001Z           "complete": false,
2026-06-02T10:47:23.2387116Z           "evidence": []
2026-06-02T10:47:23.2387231Z         },
2026-06-02T10:47:23.2387567Z         "int": {
2026-06-02T10:47:23.2387754Z           "complete": false,
2026-06-02T10:47:23.2387885Z           "evidence": []
2026-06-02T10:47:23.2387993Z         },
2026-06-02T10:47:23.2388110Z         "unit": {
2026-06-02T10:47:23.2388229Z           "complete": false,
2026-06-02T10:47:23.2388366Z           "evidence": []
2026-06-02T10:47:23.2388488Z         }
2026-06-02T10:47:23.2388594Z       }
2026-06-02T10:47:23.2388706Z     },
2026-06-02T10:47:23.2388811Z     {
2026-06-02T10:47:23.2388938Z       "id": "REQ-INST-6",
2026-06-02T10:47:23.2389188Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-02T10:47:23.2389318Z       "requiredStages": [],
2026-06-02T10:47:23.2389436Z       "stages": {
2026-06-02T10:47:23.2389548Z         "doc": {
2026-06-02T10:47:23.2389672Z           "complete": false,
2026-06-02T10:47:23.2389786Z           "evidence": []
2026-06-02T10:47:23.2389898Z         },
2026-06-02T10:47:23.2390007Z         "impl": {
2026-06-02T10:47:23.2390133Z           "complete": false,
2026-06-02T10:47:23.2390252Z           "evidence": []
2026-06-02T10:47:23.2390356Z         },
2026-06-02T10:47:23.2390471Z         "int": {
2026-06-02T10:47:23.2390593Z           "complete": false,
2026-06-02T10:47:23.2390720Z           "evidence": []
2026-06-02T10:47:23.2390832Z         },
2026-06-02T10:47:23.2390955Z         "unit": {
2026-06-02T10:47:23.2391091Z           "complete": false,
2026-06-02T10:47:23.2391207Z           "evidence": []
2026-06-02T10:47:23.2391321Z         }
2026-06-02T10:47:23.2391429Z       }
2026-06-02T10:47:23.2391544Z     },
2026-06-02T10:47:23.2391649Z     {
2026-06-02T10:47:23.2391776Z       "id": "REQ-INST-7",
2026-06-02T10:47:23.2391978Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-02T10:47:23.2392106Z       "requiredStages": [],
2026-06-02T10:47:23.2392225Z       "stages": {
2026-06-02T10:47:23.2392332Z         "doc": {
2026-06-02T10:47:23.2392460Z           "complete": false,
2026-06-02T10:47:23.2392578Z           "evidence": []
2026-06-02T10:47:23.2392694Z         },
2026-06-02T10:47:23.2392812Z         "impl": {
2026-06-02T10:47:23.2392934Z           "complete": true,
2026-06-02T10:47:23.2393059Z           "evidence": [
2026-06-02T10:47:23.2393165Z             {
2026-06-02T10:47:23.2393348Z               "path": "crates/spt-store/src/registry.rs",
2026-06-02T10:47:23.2393729Z               "line": 117
2026-06-02T10:47:23.2393848Z             }
2026-06-02T10:47:23.2393967Z           ]
2026-06-02T10:47:23.2394074Z         },
2026-06-02T10:47:23.2394189Z         "int": {
2026-06-02T10:47:23.2394307Z           "complete": false,
2026-06-02T10:47:23.2394436Z           "evidence": []
2026-06-02T10:47:23.2394543Z         },
2026-06-02T10:47:23.2394664Z         "unit": {
2026-06-02T10:47:23.2394792Z           "complete": false,
2026-06-02T10:47:23.2394909Z           "evidence": []
2026-06-02T10:47:23.2395023Z         }
2026-06-02T10:47:23.2395128Z       }
2026-06-02T10:47:23.2395238Z     },
2026-06-02T10:47:23.2395340Z     {
2026-06-02T10:47:23.2395464Z       "id": "REQ-INST-8",
2026-06-02T10:47:23.2395682Z       "title": "Remote-control mode distinct from local operation",
2026-06-02T10:47:23.2395813Z       "requiredStages": [],
2026-06-02T10:47:23.2395933Z       "stages": {
2026-06-02T10:47:23.2396039Z         "doc": {
2026-06-02T10:47:23.2396179Z           "complete": false,
2026-06-02T10:47:23.2396301Z           "evidence": []
2026-06-02T10:47:23.2396415Z         },
2026-06-02T10:47:23.2396533Z         "impl": {
2026-06-02T10:47:23.2396651Z           "complete": false,
2026-06-02T10:47:23.2396775Z           "evidence": []
2026-06-02T10:47:23.2396879Z         },
2026-06-02T10:47:23.2396997Z         "int": {
2026-06-02T10:47:23.2397118Z           "complete": false,
2026-06-02T10:47:23.2397246Z           "evidence": []
2026-06-02T10:47:23.2397553Z         },
2026-06-02T10:47:23.2397668Z         "unit": {
2026-06-02T10:47:23.2397797Z           "complete": false,
2026-06-02T10:47:23.2397913Z           "evidence": []
2026-06-02T10:47:23.2398024Z         }
2026-06-02T10:47:23.2398131Z       }
2026-06-02T10:47:23.2398242Z     },
2026-06-02T10:47:23.2398346Z     {
2026-06-02T10:47:23.2398471Z       "id": "REQ-INST-9",
2026-06-02T10:47:23.2398725Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-02T10:47:23.2398857Z       "requiredStages": [],
2026-06-02T10:47:23.2398981Z       "stages": {
2026-06-02T10:47:23.2399092Z         "doc": {
2026-06-02T10:47:23.2399224Z           "complete": false,
2026-06-02T10:47:23.2399348Z           "evidence": []
2026-06-02T10:47:23.2399456Z         },
2026-06-02T10:47:23.2399572Z         "impl": {
2026-06-02T10:47:23.2399692Z           "complete": false,
2026-06-02T10:47:23.2399817Z           "evidence": []
2026-06-02T10:47:23.2399923Z         },
2026-06-02T10:47:23.2400037Z         "int": {
2026-06-02T10:47:23.2400161Z           "complete": false,
2026-06-02T10:47:23.2400279Z           "evidence": []
2026-06-02T10:47:23.2400393Z         },
2026-06-02T10:47:23.2400504Z         "unit": {
2026-06-02T10:47:23.2400633Z           "complete": false,
2026-06-02T10:47:23.2400751Z           "evidence": []
2026-06-02T10:47:23.2400864Z         }
2026-06-02T10:47:23.2400972Z       }
2026-06-02T10:47:23.2401085Z     },
2026-06-02T10:47:23.2401196Z     {
2026-06-02T10:47:23.2401326Z       "id": "REQ-INSTALL-1",
2026-06-02T10:47:23.2401597Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-02T10:47:23.2401723Z       "requiredStages": [],
2026-06-02T10:47:23.2401842Z       "stages": {
2026-06-02T10:47:23.2401956Z         "doc": {
2026-06-02T10:47:23.2402076Z           "complete": false,
2026-06-02T10:47:23.2402200Z           "evidence": []
2026-06-02T10:47:23.2402308Z         },
2026-06-02T10:47:23.2402426Z         "impl": {
2026-06-02T10:47:23.2402546Z           "complete": false,
2026-06-02T10:47:23.2402670Z           "evidence": []
2026-06-02T10:47:23.2402780Z         },
2026-06-02T10:47:23.2402891Z         "int": {
2026-06-02T10:47:23.2403014Z           "complete": false,
2026-06-02T10:47:23.2403129Z           "evidence": []
2026-06-02T10:47:23.2403244Z         },
2026-06-02T10:47:23.2403352Z         "unit": {
2026-06-02T10:47:23.2403480Z           "complete": false,
2026-06-02T10:47:23.2403598Z           "evidence": []
2026-06-02T10:47:23.2403863Z         }
2026-06-02T10:47:23.2403979Z       }
2026-06-02T10:47:23.2404236Z     },
2026-06-02T10:47:23.2404344Z     {
2026-06-02T10:47:23.2404467Z       "id": "REQ-INSTALL-2",
2026-06-02T10:47:23.2404668Z       "title": "Marketplace-repackaging-friendly install",
2026-06-02T10:47:23.2404797Z       "requiredStages": [],
2026-06-02T10:47:23.2404919Z       "stages": {
2026-06-02T10:47:23.2405038Z         "doc": {
2026-06-02T10:47:23.2405159Z           "complete": false,
2026-06-02T10:47:23.2405282Z           "evidence": []
2026-06-02T10:47:23.2405390Z         },
2026-06-02T10:47:23.2405505Z         "impl": {
2026-06-02T10:47:23.2405628Z           "complete": false,
2026-06-02T10:47:23.2405750Z           "evidence": []
2026-06-02T10:47:23.2405860Z         },
2026-06-02T10:47:23.2405968Z         "int": {
2026-06-02T10:47:23.2406094Z           "complete": false,
2026-06-02T10:47:23.2406213Z           "evidence": []
2026-06-02T10:47:23.2406326Z         },
2026-06-02T10:47:23.2406437Z         "unit": {
2026-06-02T10:47:23.2406579Z           "complete": false,
2026-06-02T10:47:23.2406715Z           "evidence": []
2026-06-02T10:47:23.2406822Z         }
2026-06-02T10:47:23.2406938Z       }
2026-06-02T10:47:23.2407043Z     },
2026-06-02T10:47:23.2407157Z     {
2026-06-02T10:47:23.2407279Z       "id": "REQ-INSTALL-3",
2026-06-02T10:47:23.2407591Z       "title": "Idempotent + interactive-optional first run",
2026-06-02T10:47:23.2407724Z       "requiredStages": [],
2026-06-02T10:47:23.2407833Z       "stages": {
2026-06-02T10:47:23.2407951Z         "doc": {
2026-06-02T10:47:23.2408074Z           "complete": false,
2026-06-02T10:47:23.2408198Z           "evidence": []
2026-06-02T10:47:23.2408307Z         },
2026-06-02T10:47:23.2408428Z         "impl": {
2026-06-02T10:47:23.2408553Z           "complete": false,
2026-06-02T10:47:23.2408671Z           "evidence": []
2026-06-02T10:47:23.2408784Z         },
2026-06-02T10:47:23.2408894Z         "int": {
2026-06-02T10:47:23.2409024Z           "complete": false,
2026-06-02T10:47:23.2409152Z           "evidence": []
2026-06-02T10:47:23.2409273Z         },
2026-06-02T10:47:23.2409388Z         "unit": {
2026-06-02T10:47:23.2409507Z           "complete": false,
2026-06-02T10:47:23.2409632Z           "evidence": []
2026-06-02T10:47:23.2409739Z         }
2026-06-02T10:47:23.2409857Z       }
2026-06-02T10:47:23.2409959Z     },
2026-06-02T10:47:23.2410072Z     {
2026-06-02T10:47:23.2410205Z       "id": "REQ-MANIFEST-1",
2026-06-02T10:47:23.2410460Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-02T10:47:23.2410591Z       "requiredStages": [
2026-06-02T10:47:23.2410699Z         "doc",
2026-06-02T10:47:23.2410817Z         "impl",
2026-06-02T10:47:23.2410927Z         "unit"
2026-06-02T10:47:23.2411040Z       ],
2026-06-02T10:47:23.2411156Z       "stages": {
2026-06-02T10:47:23.2411268Z         "doc": {
2026-06-02T10:47:23.2411398Z           "complete": true,
2026-06-02T10:47:23.2411516Z           "evidence": [
2026-06-02T10:47:23.2411643Z             {
2026-06-02T10:47:23.2411785Z               "path": "docs/MANIFEST.md",
2026-06-02T10:47:23.2411916Z               "line": 19
2026-06-02T10:47:23.2412033Z             }
2026-06-02T10:47:23.2412142Z           ]
2026-06-02T10:47:23.2412255Z         },
2026-06-02T10:47:23.2412365Z         "impl": {
2026-06-02T10:47:23.2412491Z           "complete": true,
2026-06-02T10:47:23.2412606Z           "evidence": [
2026-06-02T10:47:23.2412723Z             {
2026-06-02T10:47:23.2412907Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-02T10:47:23.2413022Z               "line": 18
2026-06-02T10:47:23.2413142Z             }
2026-06-02T10:47:23.2413251Z           ]
2026-06-02T10:47:23.2413370Z         },
2026-06-02T10:47:23.2413483Z         "int": {
2026-06-02T10:47:23.2413612Z           "complete": false,
2026-06-02T10:47:23.2413736Z           "evidence": []
2026-06-02T10:47:23.2413843Z         },
2026-06-02T10:47:23.2413960Z         "unit": {
2026-06-02T10:47:23.2414079Z           "complete": true,
2026-06-02T10:47:23.2414349Z           "evidence": [
2026-06-02T10:47:23.2414570Z             {
2026-06-02T10:47:23.2414741Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-02T10:47:23.2414865Z               "line": 547
2026-06-02T10:47:23.2414977Z             },
2026-06-02T10:47:23.2415090Z             {
2026-06-02T10:47:23.2415253Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-02T10:47:23.2415380Z               "line": 574
2026-06-02T10:47:23.2415489Z             },
2026-06-02T10:47:23.2415607Z             {
2026-06-02T10:47:23.2415772Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-02T10:47:23.2415890Z               "line": 586
2026-06-02T10:47:23.2416004Z             },
2026-06-02T10:47:23.2416112Z             {
2026-06-02T10:47:23.2416281Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-02T10:47:23.2416394Z               "line": 594
2026-06-02T10:47:23.2416506Z             },
2026-06-02T10:47:23.2416618Z             {
2026-06-02T10:47:23.2416787Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-02T10:47:23.2416915Z               "line": 611
2026-06-02T10:47:23.2417024Z             },
2026-06-02T10:47:23.2417140Z             {
2026-06-02T10:47:23.2417300Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-02T10:47:23.2417643Z               "line": 625
2026-06-02T10:47:23.2417760Z             },
2026-06-02T10:47:23.2417869Z             {
2026-06-02T10:47:23.2418052Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-02T10:47:23.2418170Z               "line": 640
2026-06-02T10:47:23.2418289Z             },
2026-06-02T10:47:23.2418403Z             {
2026-06-02T10:47:23.2418563Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-02T10:47:23.2418688Z               "line": 655
2026-06-02T10:47:23.2418795Z             },
2026-06-02T10:47:23.2418911Z             {
2026-06-02T10:47:23.2419071Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-02T10:47:23.2419214Z               "line": 670
2026-06-02T10:47:23.2419335Z             },
2026-06-02T10:47:23.2419442Z             {
2026-06-02T10:47:23.2419610Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-02T10:47:23.2419727Z               "line": 681
2026-06-02T10:47:23.2419839Z             }
2026-06-02T10:47:23.2419946Z           ]
2026-06-02T10:47:23.2420060Z         }
2026-06-02T10:47:23.2420173Z       }
2026-06-02T10:47:23.2420279Z     },
2026-06-02T10:47:23.2420392Z     {
2026-06-02T10:47:23.2420517Z       "id": "REQ-MIGRATE-1",
2026-06-02T10:47:23.2420766Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-02T10:47:23.2420893Z       "requiredStages": [],
2026-06-02T10:47:23.2421017Z       "stages": {
2026-06-02T10:47:23.2421137Z         "doc": {
2026-06-02T10:47:23.2421262Z           "complete": false,
2026-06-02T10:47:23.2421386Z           "evidence": []
2026-06-02T10:47:23.2421492Z         },
2026-06-02T10:47:23.2421611Z         "impl": {
2026-06-02T10:47:23.2421736Z           "complete": false,
2026-06-02T10:47:23.2421868Z           "evidence": []
2026-06-02T10:47:23.2421979Z         },
2026-06-02T10:47:23.2422089Z         "int": {
2026-06-02T10:47:23.2422219Z           "complete": false,
2026-06-02T10:47:23.2422337Z           "evidence": []
2026-06-02T10:47:23.2422450Z         },
2026-06-02T10:47:23.2422560Z         "unit": {
2026-06-02T10:47:23.2422691Z           "complete": false,
2026-06-02T10:47:23.2422818Z           "evidence": []
2026-06-02T10:47:23.2422925Z         }
2026-06-02T10:47:23.2423039Z       }
2026-06-02T10:47:23.2423144Z     },
2026-06-02T10:47:23.2423253Z     {
2026-06-02T10:47:23.2423378Z       "id": "REQ-MSG-1",
2026-06-02T10:47:23.2423991Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-02T10:47:23.2424123Z       "requiredStages": [
2026-06-02T10:47:23.2424236Z         "impl",
2026-06-02T10:47:23.2424502Z         "unit",
2026-06-02T10:47:23.2424756Z         "int"
2026-06-02T10:47:23.2424871Z       ],
2026-06-02T10:47:23.2424982Z       "stages": {
2026-06-02T10:47:23.2425101Z         "doc": {
2026-06-02T10:47:23.2425232Z           "complete": false,
2026-06-02T10:47:23.2425352Z           "evidence": []
2026-06-02T10:47:23.2425466Z         },
2026-06-02T10:47:23.2425578Z         "impl": {
2026-06-02T10:47:23.2425706Z           "complete": true,
2026-06-02T10:47:23.2425819Z           "evidence": [
2026-06-02T10:47:23.2425936Z             {
2026-06-02T10:47:23.2426108Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-02T10:47:23.2426223Z               "line": 28
2026-06-02T10:47:23.2426340Z             },
2026-06-02T10:47:23.2426446Z             {
2026-06-02T10:47:23.2426649Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-02T10:47:23.2426768Z               "line": 90
2026-06-02T10:47:23.2426881Z             },
2026-06-02T10:47:23.2426994Z             {
2026-06-02T10:47:23.2427154Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-02T10:47:23.2427291Z               "line": 133
2026-06-02T10:47:23.2427623Z             },
2026-06-02T10:47:23.2427788Z             {
2026-06-02T10:47:23.2427986Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-02T10:47:23.2428112Z               "line": 158
2026-06-02T10:47:23.2428231Z             },
2026-06-02T10:47:23.2428337Z             {
2026-06-02T10:47:23.2428504Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-02T10:47:23.2428621Z               "line": 18
2026-06-02T10:47:23.2428738Z             },
2026-06-02T10:47:23.2428846Z             {
2026-06-02T10:47:23.2429009Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-02T10:47:23.2429136Z               "line": 13
2026-06-02T10:47:23.2429242Z             },
2026-06-02T10:47:23.2429357Z             {
2026-06-02T10:47:23.2429501Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-02T10:47:23.2429623Z               "line": 62
2026-06-02T10:47:23.2429741Z             },
2026-06-02T10:47:23.2429865Z             {
2026-06-02T10:47:23.2430018Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-02T10:47:23.2430135Z               "line": 10
2026-06-02T10:47:23.2430272Z             }
2026-06-02T10:47:23.2430380Z           ]
2026-06-02T10:47:23.2430496Z         },
2026-06-02T10:47:23.2430606Z         "int": {
2026-06-02T10:47:23.2430739Z           "complete": true,
2026-06-02T10:47:23.2430866Z           "evidence": [
2026-06-02T10:47:23.2430973Z             {
2026-06-02T10:47:23.2431173Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-02T10:47:23.2431289Z               "line": 9
2026-06-02T10:47:23.2431404Z             },
2026-06-02T10:47:23.2431511Z             {
2026-06-02T10:47:23.2431696Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-02T10:47:23.2431819Z               "line": 66
2026-06-02T10:47:23.2431928Z             },
2026-06-02T10:47:23.2432041Z             {
2026-06-02T10:47:23.2432222Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-02T10:47:23.2432356Z               "line": 116
2026-06-02T10:47:23.2432470Z             }
2026-06-02T10:47:23.2432578Z           ]
2026-06-02T10:47:23.2432690Z         },
2026-06-02T10:47:23.2432801Z         "unit": {
2026-06-02T10:47:23.2432931Z           "complete": true,
2026-06-02T10:47:23.2433048Z           "evidence": [
2026-06-02T10:47:23.2433161Z             {
2026-06-02T10:47:23.2433314Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-02T10:47:23.2433439Z               "line": 186
2026-06-02T10:47:23.2433554Z             },
2026-06-02T10:47:23.2433660Z             {
2026-06-02T10:47:23.2433816Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-02T10:47:23.2433931Z               "line": 215
2026-06-02T10:47:23.2434045Z             },
2026-06-02T10:47:23.2434158Z             {
2026-06-02T10:47:23.2434308Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-02T10:47:23.2434581Z               "line": 260
2026-06-02T10:47:23.2434806Z             },
2026-06-02T10:47:23.2434919Z             {
2026-06-02T10:47:23.2435070Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-02T10:47:23.2435196Z               "line": 283
2026-06-02T10:47:23.2435315Z             },
2026-06-02T10:47:23.2435421Z             {
2026-06-02T10:47:23.2435573Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-02T10:47:23.2435688Z               "line": 305
2026-06-02T10:47:23.2435804Z             },
2026-06-02T10:47:23.2435909Z             {
2026-06-02T10:47:23.2436072Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-02T10:47:23.2436194Z               "line": 203
2026-06-02T10:47:23.2436304Z             },
2026-06-02T10:47:23.2436418Z             {
2026-06-02T10:47:23.2436574Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-02T10:47:23.2436699Z               "line": 233
2026-06-02T10:47:23.2436808Z             },
2026-06-02T10:47:23.2436924Z             {
2026-06-02T10:47:23.2437090Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-02T10:47:23.2437213Z               "line": 247
2026-06-02T10:47:23.2437478Z             },
2026-06-02T10:47:23.2437587Z             {
2026-06-02T10:47:23.2437751Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-02T10:47:23.2437871Z               "line": 259
2026-06-02T10:47:23.2437988Z             },
2026-06-02T10:47:23.2438099Z             {
2026-06-02T10:47:23.2438268Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-02T10:47:23.2438396Z               "line": 159
2026-06-02T10:47:23.2438508Z             },
2026-06-02T10:47:23.2438622Z             {
2026-06-02T10:47:23.2438764Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-02T10:47:23.2438889Z               "line": 236
2026-06-02T10:47:23.2439003Z             },
2026-06-02T10:47:23.2439110Z             {
2026-06-02T10:47:23.2439261Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-02T10:47:23.2439378Z               "line": 68
2026-06-02T10:47:23.2439504Z             },
2026-06-02T10:47:23.2439614Z             {
2026-06-02T10:47:23.2439767Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-02T10:47:23.2439892Z               "line": 74
2026-06-02T10:47:23.2440003Z             },
2026-06-02T10:47:23.2440115Z             {
2026-06-02T10:47:23.2440260Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-02T10:47:23.2440385Z               "line": 80
2026-06-02T10:47:23.2440493Z             },
2026-06-02T10:47:23.2440607Z             {
2026-06-02T10:47:23.2440759Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-02T10:47:23.2440877Z               "line": 99
2026-06-02T10:47:23.2440992Z             }
2026-06-02T10:47:23.2441099Z           ]
2026-06-02T10:47:23.2441217Z         }
2026-06-02T10:47:23.2441322Z       }
2026-06-02T10:47:23.2441440Z     },
2026-06-02T10:47:23.2441552Z     {
2026-06-02T10:47:23.2441670Z       "id": "REQ-MSG-2",
2026-06-02T10:47:23.2442049Z       "title": "spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes",
2026-06-02T10:47:23.2442187Z       "requiredStages": [
2026-06-02T10:47:23.2442307Z         "impl",
2026-06-02T10:47:23.2442423Z         "unit"
2026-06-02T10:47:23.2442529Z       ],
2026-06-02T10:47:23.2442647Z       "stages": {
2026-06-02T10:47:23.2442757Z         "doc": {
2026-06-02T10:47:23.2442887Z           "complete": false,
2026-06-02T10:47:23.2443006Z           "evidence": []
2026-06-02T10:47:23.2443120Z         },
2026-06-02T10:47:23.2443231Z         "impl": {
2026-06-02T10:47:23.2443363Z           "complete": true,
2026-06-02T10:47:23.2443485Z           "evidence": [
2026-06-02T10:47:23.2443591Z             {
2026-06-02T10:47:23.2443747Z               "path": "crates/spt/src/cli.rs",
2026-06-02T10:47:23.2443863Z               "line": 11
2026-06-02T10:47:23.2443980Z             },
2026-06-02T10:47:23.2444087Z             {
2026-06-02T10:47:23.2444238Z               "path": "crates/spt/src/main.rs",
2026-06-02T10:47:23.2444509Z               "line": 8
2026-06-02T10:47:23.2444733Z             }
2026-06-02T10:47:23.2444848Z           ]
2026-06-02T10:47:23.2444953Z         },
2026-06-02T10:47:23.2445070Z         "int": {
2026-06-02T10:47:23.2445199Z           "complete": false,
2026-06-02T10:47:23.2445326Z           "evidence": []
2026-06-02T10:47:23.2445436Z         },
2026-06-02T10:47:23.2445546Z         "unit": {
2026-06-02T10:47:23.2445674Z           "complete": true,
2026-06-02T10:47:23.2445791Z           "evidence": [
2026-06-02T10:47:23.2445906Z             {
2026-06-02T10:47:23.2446050Z               "path": "crates/spt/src/cli.rs",
2026-06-02T10:47:23.2446181Z               "line": 297
2026-06-02T10:47:23.2446300Z             },
2026-06-02T10:47:23.2446406Z             {
2026-06-02T10:47:23.2446550Z               "path": "crates/spt/src/cli.rs",
2026-06-02T10:47:23.2446664Z               "line": 310
2026-06-02T10:47:23.2446781Z             },
2026-06-02T10:47:23.2446889Z             {
2026-06-02T10:47:23.2447038Z               "path": "crates/spt/src/cli.rs",
2026-06-02T10:47:23.2447169Z               "line": 319
2026-06-02T10:47:23.2447276Z             },
2026-06-02T10:47:23.2447506Z             {
2026-06-02T10:47:23.2447649Z               "path": "crates/spt/src/cli.rs",
2026-06-02T10:47:23.2447775Z               "line": 331
2026-06-02T10:47:23.2447886Z             }
2026-06-02T10:47:23.2447990Z           ]
2026-06-02T10:47:23.2448105Z         }
2026-06-02T10:47:23.2448212Z       }
2026-06-02T10:47:23.2448324Z     },
2026-06-02T10:47:23.2448428Z     {
2026-06-02T10:47:23.2448556Z       "id": "REQ-MSG-3",
2026-06-02T10:47:23.2449067Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-02T10:47:23.2449202Z       "requiredStages": [
2026-06-02T10:47:23.2449320Z         "impl",
2026-06-02T10:47:23.2449432Z         "unit",
2026-06-02T10:47:23.2449550Z         "int"
2026-06-02T10:47:23.2449656Z       ],
2026-06-02T10:47:23.2449783Z       "stages": {
2026-06-02T10:47:23.2458043Z         "doc": {
2026-06-02T10:47:23.2458241Z           "complete": false,
2026-06-02T10:47:23.2458372Z           "evidence": []
2026-06-02T10:47:23.2458484Z         },
2026-06-02T10:47:23.2458605Z         "impl": {
2026-06-02T10:47:23.2458731Z           "complete": true,
2026-06-02T10:47:23.2458857Z           "evidence": [
2026-06-02T10:47:23.2458964Z             {
2026-06-02T10:47:23.2459152Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-02T10:47:23.2459281Z               "line": 19
2026-06-02T10:47:23.2459390Z             },
2026-06-02T10:47:23.2459501Z             {
2026-06-02T10:47:23.2459665Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-02T10:47:23.2459790Z               "line": 21
2026-06-02T10:47:23.2459899Z             },
2026-06-02T10:47:23.2460011Z             {
2026-06-02T10:47:23.2460164Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-02T10:47:23.2460281Z               "line": 48
2026-06-02T10:47:23.2460415Z             },
2026-06-02T10:47:23.2460529Z             {
2026-06-02T10:47:23.2460686Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-02T10:47:23.2460808Z               "line": 106
2026-06-02T10:47:23.2460925Z             }
2026-06-02T10:47:23.2461039Z           ]
2026-06-02T10:47:23.2461146Z         },
2026-06-02T10:47:23.2461263Z         "int": {
2026-06-02T10:47:23.2461388Z           "complete": true,
2026-06-02T10:47:23.2461514Z           "evidence": [
2026-06-02T10:47:23.2461621Z             {
2026-06-02T10:47:23.2461823Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-02T10:47:23.2461943Z               "line": 10
2026-06-02T10:47:23.2462053Z             },
2026-06-02T10:47:23.2462166Z             {
2026-06-02T10:47:23.2462346Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-02T10:47:23.2462468Z               "line": 66
2026-06-02T10:47:23.2462575Z             }
2026-06-02T10:47:23.2462692Z           ]
2026-06-02T10:47:23.2462999Z         },
2026-06-02T10:47:23.2463112Z         "unit": {
2026-06-02T10:47:23.2463362Z           "complete": true,
2026-06-02T10:47:23.2463479Z           "evidence": [
2026-06-02T10:47:23.2463599Z             {
2026-06-02T10:47:23.2463749Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-02T10:47:23.2463871Z               "line": 160
2026-06-02T10:47:23.2463982Z             },
2026-06-02T10:47:23.2464089Z             {
2026-06-02T10:47:23.2464239Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-02T10:47:23.2464355Z               "line": 179
2026-06-02T10:47:23.2464472Z             },
2026-06-02T10:47:23.2464579Z             {
2026-06-02T10:47:23.2464732Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-02T10:47:23.2464849Z               "line": 198
2026-06-02T10:47:23.2464955Z             }
2026-06-02T10:47:23.2465069Z           ]
2026-06-02T10:47:23.2465178Z         }
2026-06-02T10:47:23.2465294Z       }
2026-06-02T10:47:23.2465396Z     },
2026-06-02T10:47:23.2465519Z     {
2026-06-02T10:47:23.2465641Z       "id": "REQ-NET-1",
2026-06-02T10:47:23.2465895Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-02T10:47:23.2466028Z       "requiredStages": [],
2026-06-02T10:47:23.2466141Z       "stages": {
2026-06-02T10:47:23.2466261Z         "doc": {
2026-06-02T10:47:23.2466389Z           "complete": false,
2026-06-02T10:47:23.2466511Z           "evidence": []
2026-06-02T10:47:23.2466621Z         },
2026-06-02T10:47:23.2466732Z         "impl": {
2026-06-02T10:47:23.2466860Z           "complete": false,
2026-06-02T10:47:23.2466975Z           "evidence": []
2026-06-02T10:47:23.2467084Z         },
2026-06-02T10:47:23.2467192Z         "int": {
2026-06-02T10:47:23.2467440Z           "complete": false,
2026-06-02T10:47:23.2467564Z           "evidence": []
2026-06-02T10:47:23.2467672Z         },
2026-06-02T10:47:23.2467788Z         "unit": {
2026-06-02T10:47:23.2467907Z           "complete": false,
2026-06-02T10:47:23.2468045Z           "evidence": []
2026-06-02T10:47:23.2468156Z         }
2026-06-02T10:47:23.2468278Z       }
2026-06-02T10:47:23.2468388Z     },
2026-06-02T10:47:23.2468637Z     {
2026-06-02T10:47:23.2468828Z       "id": "REQ-NET-2",
2026-06-02T10:47:23.2469152Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-02T10:47:23.2469340Z       "requiredStages": [],
2026-06-02T10:47:23.2469489Z       "stages": {
2026-06-02T10:47:23.2469646Z         "doc": {
2026-06-02T10:47:23.2469829Z           "complete": false,
2026-06-02T10:47:23.2469994Z           "evidence": []
2026-06-02T10:47:23.2470156Z         },
2026-06-02T10:47:23.2470319Z         "impl": {
2026-06-02T10:47:23.2470500Z           "complete": false,
2026-06-02T10:47:23.2470670Z           "evidence": []
2026-06-02T10:47:23.2470829Z         },
2026-06-02T10:47:23.2470991Z         "int": {
2026-06-02T10:47:23.2471162Z           "complete": false,
2026-06-02T10:47:23.2471342Z           "evidence": []
2026-06-02T10:47:23.2471504Z         },
2026-06-02T10:47:23.2471667Z         "unit": {
2026-06-02T10:47:23.2471850Z           "complete": false,
2026-06-02T10:47:23.2472027Z           "evidence": []
2026-06-02T10:47:23.2472186Z         }
2026-06-02T10:47:23.2472334Z       }
2026-06-02T10:47:23.2472492Z     },
2026-06-02T10:47:23.2472639Z     {
2026-06-02T10:47:23.2472820Z       "id": "REQ-NET-3",
2026-06-02T10:47:23.2473160Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-02T10:47:23.2473346Z       "requiredStages": [],
2026-06-02T10:47:23.2473524Z       "stages": {
2026-06-02T10:47:23.2473656Z         "doc": {
2026-06-02T10:47:23.2473787Z           "complete": false,
2026-06-02T10:47:23.2473905Z           "evidence": []
2026-06-02T10:47:23.2474018Z         },
2026-06-02T10:47:23.2474128Z         "impl": {
2026-06-02T10:47:23.2474261Z           "complete": false,
2026-06-02T10:47:23.2474384Z           "evidence": []
2026-06-02T10:47:23.2474490Z         },
2026-06-02T10:47:23.2474608Z         "int": {
2026-06-02T10:47:23.2474899Z           "complete": false,
2026-06-02T10:47:23.2475138Z           "evidence": []
2026-06-02T10:47:23.2475248Z         },
2026-06-02T10:47:23.2475362Z         "unit": {
2026-06-02T10:47:23.2475490Z           "complete": false,
2026-06-02T10:47:23.2475607Z           "evidence": []
2026-06-02T10:47:23.2475720Z         }
2026-06-02T10:47:23.2475826Z       }
2026-06-02T10:47:23.2475941Z     },
2026-06-02T10:47:23.2476045Z     {
2026-06-02T10:47:23.2476187Z       "id": "REQ-NODE-IDENTITY",
2026-06-02T10:47:23.2476516Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-02T10:47:23.2476642Z       "requiredStages": [
2026-06-02T10:47:23.2476759Z         "impl",
2026-06-02T10:47:23.2476868Z         "unit"
2026-06-02T10:47:23.2476980Z       ],
2026-06-02T10:47:23.2477092Z       "stages": {
2026-06-02T10:47:23.2477210Z         "doc": {
2026-06-02T10:47:23.2477472Z           "complete": false,
2026-06-02T10:47:23.2477592Z           "evidence": []
2026-06-02T10:47:23.2477717Z         },
2026-06-02T10:47:23.2477839Z         "impl": {
2026-06-02T10:47:23.2477969Z           "complete": true,
2026-06-02T10:47:23.2478087Z           "evidence": [
2026-06-02T10:47:23.2478197Z             {
2026-06-02T10:47:23.2478389Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-02T10:47:23.2478505Z               "line": 60
2026-06-02T10:47:23.2478618Z             },
2026-06-02T10:47:23.2478726Z             {
2026-06-02T10:47:23.2478896Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-02T10:47:23.2479013Z               "line": 68
2026-06-02T10:47:23.2479142Z             },
2026-06-02T10:47:23.2479259Z             {
2026-06-02T10:47:23.2479419Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-02T10:47:23.2479541Z               "line": 86
2026-06-02T10:47:23.2479649Z             },
2026-06-02T10:47:23.2479766Z             {
2026-06-02T10:47:23.2479945Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-02T10:47:23.2480080Z               "line": 120
2026-06-02T10:47:23.2480203Z             },
2026-06-02T10:47:23.2480313Z             {
2026-06-02T10:47:23.2480472Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-02T10:47:23.2480588Z               "line": 127
2026-06-02T10:47:23.2480705Z             },
2026-06-02T10:47:23.2480813Z             {
2026-06-02T10:47:23.2480981Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-02T10:47:23.2481106Z               "line": 143
2026-06-02T10:47:23.2481232Z             }
2026-06-02T10:47:23.2481346Z           ]
2026-06-02T10:47:23.2481454Z         },
2026-06-02T10:47:23.2481570Z         "int": {
2026-06-02T10:47:23.2481694Z           "complete": false,
2026-06-02T10:47:23.2481820Z           "evidence": []
2026-06-02T10:47:23.2481933Z         },
2026-06-02T10:47:23.2482044Z         "unit": {
2026-06-02T10:47:23.2482172Z           "complete": true,
2026-06-02T10:47:23.2482288Z           "evidence": [
2026-06-02T10:47:23.2482401Z             {
2026-06-02T10:47:23.2482574Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-02T10:47:23.2482703Z               "line": 199
2026-06-02T10:47:23.2482819Z             },
2026-06-02T10:47:23.2482926Z             {
2026-06-02T10:47:23.2483090Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-02T10:47:23.2483207Z               "line": 218
2026-06-02T10:47:23.2483320Z             },
2026-06-02T10:47:23.2483429Z             {
2026-06-02T10:47:23.2483593Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-02T10:47:23.2483715Z               "line": 232
2026-06-02T10:47:23.2483823Z             },
2026-06-02T10:47:23.2483936Z             {
2026-06-02T10:47:23.2484097Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-02T10:47:23.2484223Z               "line": 248
2026-06-02T10:47:23.2484337Z             }
2026-06-02T10:47:23.2484443Z           ]
2026-06-02T10:47:23.2484558Z         }
2026-06-02T10:47:23.2484666Z       }
2026-06-02T10:47:23.2484776Z     },
2026-06-02T10:47:23.2485045Z     {
2026-06-02T10:47:23.2485293Z       "id": "REQ-NOTIF-1",
2026-06-02T10:47:23.2485784Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-02T10:47:23.2485921Z       "requiredStages": [],
2026-06-02T10:47:23.2486042Z       "stages": {
2026-06-02T10:47:23.2486152Z         "doc": {
2026-06-02T10:47:23.2486280Z           "complete": false,
2026-06-02T10:47:23.2486396Z           "evidence": []
2026-06-02T10:47:23.2486506Z         },
2026-06-02T10:47:23.2486620Z         "impl": {
2026-06-02T10:47:23.2486742Z           "complete": false,
2026-06-02T10:47:23.2486869Z           "evidence": []
2026-06-02T10:47:23.2486976Z         },
2026-06-02T10:47:23.2487093Z         "int": {
2026-06-02T10:47:23.2487214Z           "complete": false,
2026-06-02T10:47:23.2487454Z           "evidence": []
2026-06-02T10:47:23.2487568Z         },
2026-06-02T10:47:23.2487678Z         "unit": {
2026-06-02T10:47:23.2487813Z           "complete": false,
2026-06-02T10:47:23.2487939Z           "evidence": []
2026-06-02T10:47:23.2488050Z         }
2026-06-02T10:47:23.2488155Z       }
2026-06-02T10:47:23.2488266Z     },
2026-06-02T10:47:23.2488375Z     {
2026-06-02T10:47:23.2488508Z       "id": "REQ-NOTIF-2",
2026-06-02T10:47:23.2488880Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-02T10:47:23.2489003Z       "requiredStages": [],
2026-06-02T10:47:23.2489122Z       "stages": {
2026-06-02T10:47:23.2489231Z         "doc": {
2026-06-02T10:47:23.2489359Z           "complete": false,
2026-06-02T10:47:23.2489479Z           "evidence": []
2026-06-02T10:47:23.2489583Z         },
2026-06-02T10:47:23.2489700Z         "impl": {
2026-06-02T10:47:23.2489821Z           "complete": false,
2026-06-02T10:47:23.2489943Z           "evidence": []
2026-06-02T10:47:23.2490050Z         },
2026-06-02T10:47:23.2490164Z         "int": {
2026-06-02T10:47:23.2490287Z           "complete": false,
2026-06-02T10:47:23.2490412Z           "evidence": []
2026-06-02T10:47:23.2490532Z         },
2026-06-02T10:47:23.2490640Z         "unit": {
2026-06-02T10:47:23.2490767Z           "complete": false,
2026-06-02T10:47:23.2490885Z           "evidence": []
2026-06-02T10:47:23.2490999Z         }
2026-06-02T10:47:23.2491109Z       }
2026-06-02T10:47:23.2491214Z     },
2026-06-02T10:47:23.2491325Z     {
2026-06-02T10:47:23.2491451Z       "id": "REQ-PAIR-1",
2026-06-02T10:47:23.2491609Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-02T10:47:23.2491729Z       "requiredStages": [],
2026-06-02T10:47:23.2491849Z       "stages": {
2026-06-02T10:47:23.2491966Z         "doc": {
2026-06-02T10:47:23.2492087Z           "complete": false,
2026-06-02T10:47:23.2492211Z           "evidence": []
2026-06-02T10:47:23.2492316Z         },
2026-06-02T10:47:23.2492431Z         "impl": {
2026-06-02T10:47:23.2492551Z           "complete": false,
2026-06-02T10:47:23.2492673Z           "evidence": []
2026-06-02T10:47:23.2492793Z         },
2026-06-02T10:47:23.2492903Z         "int": {
2026-06-02T10:47:23.2493034Z           "complete": false,
2026-06-02T10:47:23.2493151Z           "evidence": []
2026-06-02T10:47:23.2493260Z         },
2026-06-02T10:47:23.2493370Z         "unit": {
2026-06-02T10:47:23.2493494Z           "complete": false,
2026-06-02T10:47:23.2493609Z           "evidence": []
2026-06-02T10:47:23.2493723Z         }
2026-06-02T10:47:23.2493834Z       }
2026-06-02T10:47:23.2493939Z     },
2026-06-02T10:47:23.2494049Z     {
2026-06-02T10:47:23.2494168Z       "id": "REQ-PAIR-2",
2026-06-02T10:47:23.2494375Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-02T10:47:23.2494504Z       "requiredStages": [],
2026-06-02T10:47:23.2494625Z       "stages": {
2026-06-02T10:47:23.2494742Z         "doc": {
2026-06-02T10:47:23.2494861Z           "complete": false,
2026-06-02T10:47:23.2494984Z           "evidence": []
2026-06-02T10:47:23.2495091Z         },
2026-06-02T10:47:23.2495210Z         "impl": {
2026-06-02T10:47:23.2495517Z           "complete": false,
2026-06-02T10:47:23.2495757Z           "evidence": []
2026-06-02T10:47:23.2495866Z         },
2026-06-02T10:47:23.2495972Z         "int": {
2026-06-02T10:47:23.2496097Z           "complete": false,
2026-06-02T10:47:23.2496214Z           "evidence": []
2026-06-02T10:47:23.2496324Z         },
2026-06-02T10:47:23.2496432Z         "unit": {
2026-06-02T10:47:23.2496560Z           "complete": false,
2026-06-02T10:47:23.2496678Z           "evidence": []
2026-06-02T10:47:23.2496781Z         }
2026-06-02T10:47:23.2496891Z       }
2026-06-02T10:47:23.2496996Z     },
2026-06-02T10:47:23.2497106Z     {
2026-06-02T10:47:23.2497224Z       "id": "REQ-PAIR-3",
2026-06-02T10:47:23.2497542Z       "title": "Fetch current pairing code from any paired node",
2026-06-02T10:47:23.2497674Z       "requiredStages": [],
2026-06-02T10:47:23.2497781Z       "stages": {
2026-06-02T10:47:23.2497892Z         "doc": {
2026-06-02T10:47:23.2498012Z           "complete": false,
2026-06-02T10:47:23.2498149Z           "evidence": []
2026-06-02T10:47:23.2498263Z         },
2026-06-02T10:47:23.2498382Z         "impl": {
2026-06-02T10:47:23.2498508Z           "complete": false,
2026-06-02T10:47:23.2498622Z           "evidence": []
2026-06-02T10:47:23.2498735Z         },
2026-06-02T10:47:23.2498843Z         "int": {
2026-06-02T10:47:23.2498974Z           "complete": false,
2026-06-02T10:47:23.2499089Z           "evidence": []
2026-06-02T10:47:23.2499203Z         },
2026-06-02T10:47:23.2499320Z         "unit": {
2026-06-02T10:47:23.2499440Z           "complete": false,
2026-06-02T10:47:23.2499558Z           "evidence": []
2026-06-02T10:47:23.2499663Z         }
2026-06-02T10:47:23.2499777Z       }
2026-06-02T10:47:23.2499881Z     },
2026-06-02T10:47:23.2499995Z     {
2026-06-02T10:47:23.2500121Z       "id": "REQ-PAIR-4",
2026-06-02T10:47:23.2500278Z       "title": "Subnet naming on first pairing",
2026-06-02T10:47:23.2500412Z       "requiredStages": [],
2026-06-02T10:47:23.2500523Z       "stages": {
2026-06-02T10:47:23.2500649Z         "doc": {
2026-06-02T10:47:23.2500779Z           "complete": false,
2026-06-02T10:47:23.2500903Z           "evidence": []
2026-06-02T10:47:23.2501010Z         },
2026-06-02T10:47:23.2501119Z         "impl": {
2026-06-02T10:47:23.2501247Z           "complete": false,
2026-06-02T10:47:23.2501364Z           "evidence": []
2026-06-02T10:47:23.2501479Z         },
2026-06-02T10:47:23.2501587Z         "int": {
2026-06-02T10:47:23.2501709Z           "complete": false,
2026-06-02T10:47:23.2501835Z           "evidence": []
2026-06-02T10:47:23.2501942Z         },
2026-06-02T10:47:23.2502056Z         "unit": {
2026-06-02T10:47:23.2502174Z           "complete": false,
2026-06-02T10:47:23.2502298Z           "evidence": []
2026-06-02T10:47:23.2502402Z         }
2026-06-02T10:47:23.2502517Z       }
2026-06-02T10:47:23.2502627Z     },
2026-06-02T10:47:23.2502731Z     {
2026-06-02T10:47:23.2502856Z       "id": "REQ-PAIR-5",
2026-06-02T10:47:23.2503268Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-02T10:47:23.2503415Z       "requiredStages": [],
2026-06-02T10:47:23.2503536Z       "stages": {
2026-06-02T10:47:23.2503651Z         "doc": {
2026-06-02T10:47:23.2503776Z           "complete": false,
2026-06-02T10:47:23.2503894Z           "evidence": []
2026-06-02T10:47:23.2504008Z         },
2026-06-02T10:47:23.2504117Z         "impl": {
2026-06-02T10:47:23.2504244Z           "complete": false,
2026-06-02T10:47:23.2504369Z           "evidence": []
2026-06-02T10:47:23.2504476Z         },
2026-06-02T10:47:23.2504590Z         "int": {
2026-06-02T10:47:23.2504709Z           "complete": false,
2026-06-02T10:47:23.2504829Z           "evidence": []
2026-06-02T10:47:23.2504937Z         },
2026-06-02T10:47:23.2505052Z         "unit": {
2026-06-02T10:47:23.2505172Z           "complete": false,
2026-06-02T10:47:23.2505295Z           "evidence": []
2026-06-02T10:47:23.2505408Z         }
2026-06-02T10:47:23.2505512Z       }
2026-06-02T10:47:23.2505771Z     },
2026-06-02T10:47:23.2505875Z     {
2026-06-02T10:47:23.2506120Z       "id": "REQ-PAIR-6",
2026-06-02T10:47:23.2506469Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-02T10:47:23.2506599Z       "requiredStages": [],
2026-06-02T10:47:23.2506716Z       "stages": {
2026-06-02T10:47:23.2506823Z         "doc": {
2026-06-02T10:47:23.2506948Z           "complete": false,
2026-06-02T10:47:23.2507063Z           "evidence": []
2026-06-02T10:47:23.2507177Z         },
2026-06-02T10:47:23.2507296Z         "impl": {
2026-06-02T10:47:23.2507523Z           "complete": false,
2026-06-02T10:47:23.2507647Z           "evidence": []
2026-06-02T10:47:23.2507751Z         },
2026-06-02T10:47:23.2507865Z         "int": {
2026-06-02T10:47:23.2507983Z           "complete": false,
2026-06-02T10:47:23.2508110Z           "evidence": []
2026-06-02T10:47:23.2508222Z         },
2026-06-02T10:47:23.2508331Z         "unit": {
2026-06-02T10:47:23.2508468Z           "complete": false,
2026-06-02T10:47:23.2508623Z           "evidence": []
2026-06-02T10:47:23.2508734Z         }
2026-06-02T10:47:23.2508840Z       }
2026-06-02T10:47:23.2508950Z     },
2026-06-02T10:47:23.2509053Z     {
2026-06-02T10:47:23.2509180Z       "id": "REQ-PAIR-7",
2026-06-02T10:47:23.2509408Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-02T10:47:23.2509532Z       "requiredStages": [],
2026-06-02T10:47:23.2509652Z       "stages": {
2026-06-02T10:47:23.2509759Z         "doc": {
2026-06-02T10:47:23.2509887Z           "complete": false,
2026-06-02T10:47:23.2510003Z           "evidence": []
2026-06-02T10:47:23.2510114Z         },
2026-06-02T10:47:23.2510233Z         "impl": {
2026-06-02T10:47:23.2510350Z           "complete": false,
2026-06-02T10:47:23.2510472Z           "evidence": []
2026-06-02T10:47:23.2510578Z         },
2026-06-02T10:47:23.2510700Z         "int": {
2026-06-02T10:47:23.2510821Z           "complete": false,
2026-06-02T10:47:23.2510956Z           "evidence": []
2026-06-02T10:47:23.2511070Z         },
2026-06-02T10:47:23.2511184Z         "unit": {
2026-06-02T10:47:23.2511312Z           "complete": false,
2026-06-02T10:47:23.2511427Z           "evidence": []
2026-06-02T10:47:23.2511538Z         }
2026-06-02T10:47:23.2511642Z       }
2026-06-02T10:47:23.2511755Z     },
2026-06-02T10:47:23.2511866Z     {
2026-06-02T10:47:23.2511987Z       "id": "REQ-REACH-1",
2026-06-02T10:47:23.2512192Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-02T10:47:23.2512316Z       "requiredStages": [],
2026-06-02T10:47:23.2512438Z       "stages": {
2026-06-02T10:47:23.2512545Z         "doc": {
2026-06-02T10:47:23.2512678Z           "complete": false,
2026-06-02T10:47:23.2512800Z           "evidence": []
2026-06-02T10:47:23.2512905Z         },
2026-06-02T10:47:23.2513023Z         "impl": {
2026-06-02T10:47:23.2513140Z           "complete": false,
2026-06-02T10:47:23.2513265Z           "evidence": []
2026-06-02T10:47:23.2513377Z         },
2026-06-02T10:47:23.2513497Z         "int": {
2026-06-02T10:47:23.2513629Z           "complete": false,
2026-06-02T10:47:23.2513748Z           "evidence": []
2026-06-02T10:47:23.2513863Z         },
2026-06-02T10:47:23.2513972Z         "unit": {
2026-06-02T10:47:23.2514102Z           "complete": false,
2026-06-02T10:47:23.2514217Z           "evidence": []
2026-06-02T10:47:23.2514336Z         }
2026-06-02T10:47:23.2514448Z       }
2026-06-02T10:47:23.2514553Z     },
2026-06-02T10:47:23.2514663Z     {
2026-06-02T10:47:23.2514784Z       "id": "REQ-REACH-2",
2026-06-02T10:47:23.2514999Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-02T10:47:23.2515121Z       "requiredStages": [],
2026-06-02T10:47:23.2515245Z       "stages": {
2026-06-02T10:47:23.2515359Z         "doc": {
2026-06-02T10:47:23.2515478Z           "complete": false,
2026-06-02T10:47:23.2515601Z           "evidence": []
2026-06-02T10:47:23.2515707Z         },
2026-06-02T10:47:23.2515823Z         "impl": {
2026-06-02T10:47:23.2516093Z           "complete": false,
2026-06-02T10:47:23.2516327Z           "evidence": []
2026-06-02T10:47:23.2516442Z         },
2026-06-02T10:47:23.2516551Z         "int": {
2026-06-02T10:47:23.2516675Z           "complete": false,
2026-06-02T10:47:23.2516791Z           "evidence": []
2026-06-02T10:47:23.2516902Z         },
2026-06-02T10:47:23.2517010Z         "unit": {
2026-06-02T10:47:23.2517137Z           "complete": false,
2026-06-02T10:47:23.2517256Z           "evidence": []
2026-06-02T10:47:23.2517477Z         }
2026-06-02T10:47:23.2517591Z       }
2026-06-02T10:47:23.2517696Z     },
2026-06-02T10:47:23.2517808Z     {
2026-06-02T10:47:23.2517942Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-02T10:47:23.2518202Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-02T10:47:23.2518335Z       "requiredStages": [
2026-06-02T10:47:23.2518447Z         "impl",
2026-06-02T10:47:23.2518559Z         "unit"
2026-06-02T10:47:23.2518666Z       ],
2026-06-02T10:47:23.2518794Z       "stages": {
2026-06-02T10:47:23.2518903Z         "doc": {
2026-06-02T10:47:23.2519041Z           "complete": false,
2026-06-02T10:47:23.2519169Z           "evidence": []
2026-06-02T10:47:23.2519276Z         },
2026-06-02T10:47:23.2519394Z         "impl": {
2026-06-02T10:47:23.2519513Z           "complete": true,
2026-06-02T10:47:23.2519633Z           "evidence": [
2026-06-02T10:47:23.2519744Z             {
2026-06-02T10:47:23.2519918Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-02T10:47:23.2520038Z               "line": 18
2026-06-02T10:47:23.2520146Z             },
2026-06-02T10:47:23.2520260Z             {
2026-06-02T10:47:23.2520415Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-02T10:47:23.2520540Z               "line": 35
2026-06-02T10:47:23.2520649Z             },
2026-06-02T10:47:23.2520767Z             {
2026-06-02T10:47:23.2520929Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-02T10:47:23.2521043Z               "line": 65
2026-06-02T10:47:23.2521162Z             }
2026-06-02T10:47:23.2521269Z           ]
2026-06-02T10:47:23.2521386Z         },
2026-06-02T10:47:23.2521494Z         "int": {
2026-06-02T10:47:23.2521620Z           "complete": false,
2026-06-02T10:47:23.2521744Z           "evidence": []
2026-06-02T10:47:23.2521848Z         },
2026-06-02T10:47:23.2521960Z         "unit": {
2026-06-02T10:47:23.2522079Z           "complete": true,
2026-06-02T10:47:23.2522201Z           "evidence": [
2026-06-02T10:47:23.2522307Z             {
2026-06-02T10:47:23.2522466Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-02T10:47:23.2522587Z               "line": 170
2026-06-02T10:47:23.2522693Z             },
2026-06-02T10:47:23.2522806Z             {
2026-06-02T10:47:23.2522953Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-02T10:47:23.2523079Z               "line": 184
2026-06-02T10:47:23.2523187Z             },
2026-06-02T10:47:23.2523302Z             {
2026-06-02T10:47:23.2523455Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-02T10:47:23.2523576Z               "line": 193
2026-06-02T10:47:23.2523697Z             }
2026-06-02T10:47:23.2523808Z           ]
2026-06-02T10:47:23.2523920Z         }
2026-06-02T10:47:23.2524026Z       }
2026-06-02T10:47:23.2524141Z     },
2026-06-02T10:47:23.2524254Z     {
2026-06-02T10:47:23.2524389Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-02T10:47:23.2524595Z       "title": "Hostable endpoint-types capability declaration",
2026-06-02T10:47:23.2524716Z       "requiredStages": [
2026-06-02T10:47:23.2524836Z         "impl",
2026-06-02T10:47:23.2524944Z         "unit"
2026-06-02T10:47:23.2525058Z       ],
2026-06-02T10:47:23.2525173Z       "stages": {
2026-06-02T10:47:23.2525282Z         "doc": {
2026-06-02T10:47:23.2525409Z           "complete": false,
2026-06-02T10:47:23.2525523Z           "evidence": []
2026-06-02T10:47:23.2525636Z         },
2026-06-02T10:47:23.2525749Z         "impl": {
2026-06-02T10:47:23.2525876Z           "complete": true,
2026-06-02T10:47:23.2526147Z           "evidence": [
2026-06-02T10:47:23.2526252Z             {
2026-06-02T10:47:23.2526536Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.2526653Z               "line": 196
2026-06-02T10:47:23.2526768Z             }
2026-06-02T10:47:23.2526874Z           ]
2026-06-02T10:47:23.2526988Z         },
2026-06-02T10:47:23.2527105Z         "int": {
2026-06-02T10:47:23.2527227Z           "complete": false,
2026-06-02T10:47:23.2527473Z           "evidence": []
2026-06-02T10:47:23.2527581Z         },
2026-06-02T10:47:23.2527702Z         "unit": {
2026-06-02T10:47:23.2527825Z           "complete": true,
2026-06-02T10:47:23.2527953Z           "evidence": [
2026-06-02T10:47:23.2528065Z             {
2026-06-02T10:47:23.2528228Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.2528362Z               "line": 311
2026-06-02T10:47:23.2528472Z             }
2026-06-02T10:47:23.2528585Z           ]
2026-06-02T10:47:23.2528691Z         }
2026-06-02T10:47:23.2528815Z       }
2026-06-02T10:47:23.2528926Z     },
2026-06-02T10:47:23.2529034Z     {
2026-06-02T10:47:23.2529172Z       "id": "REQ-SEAM-HISTORY",
2026-06-02T10:47:23.2529420Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-02T10:47:23.2529553Z       "requiredStages": [
2026-06-02T10:47:23.2529663Z         "impl",
2026-06-02T10:47:23.2529778Z         "unit",
2026-06-02T10:47:23.2529893Z         "int"
2026-06-02T10:47:23.2529999Z       ],
2026-06-02T10:47:23.2530115Z       "stages": {
2026-06-02T10:47:23.2530222Z         "doc": {
2026-06-02T10:47:23.2530353Z           "complete": false,
2026-06-02T10:47:23.2530476Z           "evidence": []
2026-06-02T10:47:23.2530598Z         },
2026-06-02T10:47:23.2530712Z         "impl": {
2026-06-02T10:47:23.2530832Z           "complete": true,
2026-06-02T10:47:23.2530954Z           "evidence": [
2026-06-02T10:47:23.2531060Z             {
2026-06-02T10:47:23.2531225Z               "path": "crates/spt-live/src/echo.rs",
2026-06-02T10:47:23.2531352Z               "line": 24
2026-06-02T10:47:23.2531471Z             },
2026-06-02T10:47:23.2531585Z             {
2026-06-02T10:47:23.2531740Z               "path": "crates/spt-live/src/history.rs",
2026-06-02T10:47:23.2531863Z               "line": 22
2026-06-02T10:47:23.2531971Z             }
2026-06-02T10:47:23.2532082Z           ]
2026-06-02T10:47:23.2532188Z         },
2026-06-02T10:47:23.2532305Z         "int": {
2026-06-02T10:47:23.2532436Z           "complete": true,
2026-06-02T10:47:23.2532551Z           "evidence": [
2026-06-02T10:47:23.2532662Z             {
2026-06-02T10:47:23.2532822Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-02T10:47:23.2532945Z               "line": 172
2026-06-02T10:47:23.2533049Z             }
2026-06-02T10:47:23.2533162Z           ]
2026-06-02T10:47:23.2533274Z         },
2026-06-02T10:47:23.2533381Z         "unit": {
2026-06-02T10:47:23.2533507Z           "complete": true,
2026-06-02T10:47:23.2533627Z           "evidence": [
2026-06-02T10:47:23.2533754Z             {
2026-06-02T10:47:23.2533905Z               "path": "crates/spt-live/src/echo.rs",
2026-06-02T10:47:23.2534034Z               "line": 163
2026-06-02T10:47:23.2534148Z             },
2026-06-02T10:47:23.2534256Z             {
2026-06-02T10:47:23.2534409Z               "path": "crates/spt-live/src/echo.rs",
2026-06-02T10:47:23.2534523Z               "line": 186
2026-06-02T10:47:23.2534638Z             },
2026-06-02T10:47:23.2534745Z             {
2026-06-02T10:47:23.2534899Z               "path": "crates/spt-live/src/echo.rs",
2026-06-02T10:47:23.2535023Z               "line": 195
2026-06-02T10:47:23.2535131Z             },
2026-06-02T10:47:23.2535244Z             {
2026-06-02T10:47:23.2535397Z               "path": "crates/spt-live/src/history.rs",
2026-06-02T10:47:23.2535521Z               "line": 195
2026-06-02T10:47:23.2535627Z             },
2026-06-02T10:47:23.2535741Z             {
2026-06-02T10:47:23.2535896Z               "path": "crates/spt-live/src/history.rs",
2026-06-02T10:47:23.2536186Z               "line": 209
2026-06-02T10:47:23.2536416Z             },
2026-06-02T10:47:23.2536523Z             {
2026-06-02T10:47:23.2536680Z               "path": "crates/spt-live/src/history.rs",
2026-06-02T10:47:23.2536797Z               "line": 228
2026-06-02T10:47:23.2536912Z             },
2026-06-02T10:47:23.2537025Z             {
2026-06-02T10:47:23.2537172Z               "path": "crates/spt-live/src/history.rs",
2026-06-02T10:47:23.2537294Z               "line": 248
2026-06-02T10:47:23.2537511Z             },
2026-06-02T10:47:23.2537627Z             {
2026-06-02T10:47:23.2537777Z               "path": "crates/spt-live/src/history.rs",
2026-06-02T10:47:23.2537901Z               "line": 264
2026-06-02T10:47:23.2538012Z             },
2026-06-02T10:47:23.2538117Z             {
2026-06-02T10:47:23.2538274Z               "path": "crates/spt-live/src/history.rs",
2026-06-02T10:47:23.2538392Z               "line": 279
2026-06-02T10:47:23.2538506Z             }
2026-06-02T10:47:23.2538628Z           ]
2026-06-02T10:47:23.2538736Z         }
2026-06-02T10:47:23.2538859Z       }
2026-06-02T10:47:23.2538965Z     },
2026-06-02T10:47:23.2539079Z     {
2026-06-02T10:47:23.2539208Z       "id": "REQ-SEAM-INJECT",
2026-06-02T10:47:23.2539434Z       "title": "inject-input methods configurable per activity-state",
2026-06-02T10:47:23.2539560Z       "requiredStages": [
2026-06-02T10:47:23.2539673Z         "impl",
2026-06-02T10:47:23.2539786Z         "unit"
2026-06-02T10:47:23.2539895Z       ],
2026-06-02T10:47:23.2540016Z       "stages": {
2026-06-02T10:47:23.2540128Z         "doc": {
2026-06-02T10:47:23.2540260Z           "complete": false,
2026-06-02T10:47:23.2540377Z           "evidence": []
2026-06-02T10:47:23.2540491Z         },
2026-06-02T10:47:23.2540608Z         "impl": {
2026-06-02T10:47:23.2540732Z           "complete": true,
2026-06-02T10:47:23.2540863Z           "evidence": [
2026-06-02T10:47:23.2540972Z             {
2026-06-02T10:47:23.2541135Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-02T10:47:23.2541259Z               "line": 19
2026-06-02T10:47:23.2541385Z             },
2026-06-02T10:47:23.2541495Z             {
2026-06-02T10:47:23.2541645Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-02T10:47:23.2541770Z               "line": 104
2026-06-02T10:47:23.2541878Z             }
2026-06-02T10:47:23.2541994Z           ]
2026-06-02T10:47:23.2542103Z         },
2026-06-02T10:47:23.2542218Z         "int": {
2026-06-02T10:47:23.2542343Z           "complete": false,
2026-06-02T10:47:23.2542458Z           "evidence": []
2026-06-02T10:47:23.2542572Z         },
2026-06-02T10:47:23.2542679Z         "unit": {
2026-06-02T10:47:23.2542812Z           "complete": true,
2026-06-02T10:47:23.2542932Z           "evidence": [
2026-06-02T10:47:23.2543047Z             {
2026-06-02T10:47:23.2543206Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-02T10:47:23.2543321Z               "line": 222
2026-06-02T10:47:23.2543435Z             },
2026-06-02T10:47:23.2543549Z             {
2026-06-02T10:47:23.2543714Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-02T10:47:23.2543837Z               "line": 236
2026-06-02T10:47:23.2543943Z             }
2026-06-02T10:47:23.2544055Z           ]
2026-06-02T10:47:23.2544161Z         }
2026-06-02T10:47:23.2544273Z       }
2026-06-02T10:47:23.2544378Z     },
2026-06-02T10:47:23.2544490Z     {
2026-06-02T10:47:23.2544627Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-02T10:47:23.2544819Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-02T10:47:23.2544945Z       "requiredStages": [
2026-06-02T10:47:23.2545055Z         "impl",
2026-06-02T10:47:23.2545171Z         "unit"
2026-06-02T10:47:23.2545276Z       ],
2026-06-02T10:47:23.2545394Z       "stages": {
2026-06-02T10:47:23.2545504Z         "doc": {
2026-06-02T10:47:23.2545635Z           "complete": false,
2026-06-02T10:47:23.2545757Z           "evidence": []
2026-06-02T10:47:23.2545877Z         },
2026-06-02T10:47:23.2546082Z         "impl": {
2026-06-02T10:47:23.2546435Z           "complete": true,
2026-06-02T10:47:23.2546683Z           "evidence": [
2026-06-02T10:47:23.2546790Z             {
2026-06-02T10:47:23.2546962Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2547082Z               "line": 17
2026-06-02T10:47:23.2547190Z             },
2026-06-02T10:47:23.2547303Z             {
2026-06-02T10:47:23.2547566Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2547689Z               "line": 236
2026-06-02T10:47:23.2547803Z             }
2026-06-02T10:47:23.2547910Z           ]
2026-06-02T10:47:23.2548022Z         },
2026-06-02T10:47:23.2548132Z         "int": {
2026-06-02T10:47:23.2548261Z           "complete": false,
2026-06-02T10:47:23.2548378Z           "evidence": []
2026-06-02T10:47:23.2548493Z         },
2026-06-02T10:47:23.2548604Z         "unit": {
2026-06-02T10:47:23.2548729Z           "complete": true,
2026-06-02T10:47:23.2548847Z           "evidence": [
2026-06-02T10:47:23.2548957Z             {
2026-06-02T10:47:23.2549127Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2549246Z               "line": 368
2026-06-02T10:47:23.2549361Z             },
2026-06-02T10:47:23.2549468Z             {
2026-06-02T10:47:23.2549624Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2549744Z               "line": 378
2026-06-02T10:47:23.2549856Z             }
2026-06-02T10:47:23.2549971Z           ]
2026-06-02T10:47:23.2550078Z         }
2026-06-02T10:47:23.2550191Z       }
2026-06-02T10:47:23.2550296Z     },
2026-06-02T10:47:23.2550408Z     {
2026-06-02T10:47:23.2550547Z       "id": "REQ-SEAM-PSYCHE",
2026-06-02T10:47:23.2550737Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-02T10:47:23.2550868Z       "requiredStages": [
2026-06-02T10:47:23.2550979Z         "impl",
2026-06-02T10:47:23.2551097Z         "unit",
2026-06-02T10:47:23.2551203Z         "int"
2026-06-02T10:47:23.2551316Z       ],
2026-06-02T10:47:23.2551433Z       "stages": {
2026-06-02T10:47:23.2551551Z         "doc": {
2026-06-02T10:47:23.2551688Z           "complete": false,
2026-06-02T10:47:23.2551804Z           "evidence": []
2026-06-02T10:47:23.2551921Z         },
2026-06-02T10:47:23.2552032Z         "impl": {
2026-06-02T10:47:23.2552163Z           "complete": true,
2026-06-02T10:47:23.2552282Z           "evidence": [
2026-06-02T10:47:23.2552387Z             {
2026-06-02T10:47:23.2552546Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-02T10:47:23.2552661Z               "line": 19
2026-06-02T10:47:23.2552775Z             },
2026-06-02T10:47:23.2552880Z             {
2026-06-02T10:47:23.2553041Z               "path": "crates/spt/src/api/live.rs",
2026-06-02T10:47:23.2553160Z               "line": 10
2026-06-02T10:47:23.2553266Z             },
2026-06-02T10:47:23.2553379Z             {
2026-06-02T10:47:23.2553530Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2553654Z               "line": 143
2026-06-02T10:47:23.2553768Z             }
2026-06-02T10:47:23.2553884Z           ]
2026-06-02T10:47:23.2554001Z         },
2026-06-02T10:47:23.2554113Z         "int": {
2026-06-02T10:47:23.2554241Z           "complete": true,
2026-06-02T10:47:23.2554356Z           "evidence": [
2026-06-02T10:47:23.2554476Z             {
2026-06-02T10:47:23.2554636Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-02T10:47:23.2554762Z               "line": 171
2026-06-02T10:47:23.2554878Z             }
2026-06-02T10:47:23.2554985Z           ]
2026-06-02T10:47:23.2555097Z         },
2026-06-02T10:47:23.2555206Z         "unit": {
2026-06-02T10:47:23.2555334Z           "complete": true,
2026-06-02T10:47:23.2555450Z           "evidence": [
2026-06-02T10:47:23.2555564Z             {
2026-06-02T10:47:23.2555717Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-02T10:47:23.2555834Z               "line": 161
2026-06-02T10:47:23.2555949Z             },
2026-06-02T10:47:23.2556056Z             {
2026-06-02T10:47:23.2556217Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-02T10:47:23.2556495Z               "line": 168
2026-06-02T10:47:23.2556729Z             },
2026-06-02T10:47:23.2556843Z             {
2026-06-02T10:47:23.2556994Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-02T10:47:23.2557120Z               "line": 191
2026-06-02T10:47:23.2557227Z             },
2026-06-02T10:47:23.2557453Z             {
2026-06-02T10:47:23.2557611Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-02T10:47:23.2557729Z               "line": 105
2026-06-02T10:47:23.2557846Z             },
2026-06-02T10:47:23.2557953Z             {
2026-06-02T10:47:23.2558113Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-02T10:47:23.2558229Z               "line": 122
2026-06-02T10:47:23.2558345Z             },
2026-06-02T10:47:23.2558461Z             {
2026-06-02T10:47:23.2558605Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-02T10:47:23.2558723Z               "line": 136
2026-06-02T10:47:23.2558830Z             }
2026-06-02T10:47:23.2558956Z           ]
2026-06-02T10:47:23.2559069Z         }
2026-06-02T10:47:23.2559183Z       }
2026-06-02T10:47:23.2559296Z     },
2026-06-02T10:47:23.2559401Z     {
2026-06-02T10:47:23.2559532Z       "id": "REQ-SEAM-RESUME",
2026-06-02T10:47:23.2559785Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-02T10:47:23.2559913Z       "requiredStages": [
2026-06-02T10:47:23.2560024Z         "impl",
2026-06-02T10:47:23.2560140Z         "unit"
2026-06-02T10:47:23.2560253Z       ],
2026-06-02T10:47:23.2560363Z       "stages": {
2026-06-02T10:47:23.2560479Z         "doc": {
2026-06-02T10:47:23.2560598Z           "complete": false,
2026-06-02T10:47:23.2560724Z           "evidence": []
2026-06-02T10:47:23.2560830Z         },
2026-06-02T10:47:23.2560950Z         "impl": {
2026-06-02T10:47:23.2561082Z           "complete": true,
2026-06-02T10:47:23.2561199Z           "evidence": [
2026-06-02T10:47:23.2561315Z             {
2026-06-02T10:47:23.2561463Z               "path": "crates/spt-live/src/resume.rs",
2026-06-02T10:47:23.2561605Z               "line": 19
2026-06-02T10:47:23.2561713Z             }
2026-06-02T10:47:23.2561831Z           ]
2026-06-02T10:47:23.2561945Z         },
2026-06-02T10:47:23.2562056Z         "int": {
2026-06-02T10:47:23.2562184Z           "complete": false,
2026-06-02T10:47:23.2562304Z           "evidence": []
2026-06-02T10:47:23.2562417Z         },
2026-06-02T10:47:23.2562526Z         "unit": {
2026-06-02T10:47:23.2562653Z           "complete": true,
2026-06-02T10:47:23.2562773Z           "evidence": [
2026-06-02T10:47:23.2562880Z             {
2026-06-02T10:47:23.2563039Z               "path": "crates/spt-live/src/resume.rs",
2026-06-02T10:47:23.2563155Z               "line": 145
2026-06-02T10:47:23.2563269Z             },
2026-06-02T10:47:23.2563375Z             {
2026-06-02T10:47:23.2563532Z               "path": "crates/spt-live/src/resume.rs",
2026-06-02T10:47:23.2563649Z               "line": 164
2026-06-02T10:47:23.2563758Z             },
2026-06-02T10:47:23.2563876Z             {
2026-06-02T10:47:23.2564027Z               "path": "crates/spt-live/src/resume.rs",
2026-06-02T10:47:23.2564147Z               "line": 182
2026-06-02T10:47:23.2564253Z             },
2026-06-02T10:47:23.2564372Z             {
2026-06-02T10:47:23.2564529Z               "path": "crates/spt-live/src/resume.rs",
2026-06-02T10:47:23.2564644Z               "line": 206
2026-06-02T10:47:23.2564754Z             }
2026-06-02T10:47:23.2564865Z           ]
2026-06-02T10:47:23.2564982Z         }
2026-06-02T10:47:23.2565091Z       }
2026-06-02T10:47:23.2565208Z     },
2026-06-02T10:47:23.2565318Z     {
2026-06-02T10:47:23.2565445Z       "id": "REQ-SEAM-SPAWN",
2026-06-02T10:47:23.2565587Z       "title": "spawn-session seam",
2026-06-02T10:47:23.2565710Z       "requiredStages": [
2026-06-02T10:47:23.2565829Z         "impl",
2026-06-02T10:47:23.2565938Z         "unit"
2026-06-02T10:47:23.2566054Z       ],
2026-06-02T10:47:23.2566174Z       "stages": {
2026-06-02T10:47:23.2566431Z         "doc": {
2026-06-02T10:47:23.2566560Z           "complete": false,
2026-06-02T10:47:23.2566793Z           "evidence": []
2026-06-02T10:47:23.2566908Z         },
2026-06-02T10:47:23.2567019Z         "impl": {
2026-06-02T10:47:23.2567145Z           "complete": true,
2026-06-02T10:47:23.2567268Z           "evidence": [
2026-06-02T10:47:23.2567482Z             {
2026-06-02T10:47:23.2567656Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-02T10:47:23.2567771Z               "line": 20
2026-06-02T10:47:23.2567886Z             }
2026-06-02T10:47:23.2567993Z           ]
2026-06-02T10:47:23.2568106Z         },
2026-06-02T10:47:23.2568222Z         "int": {
2026-06-02T10:47:23.2568346Z           "complete": false,
2026-06-02T10:47:23.2568471Z           "evidence": []
2026-06-02T10:47:23.2568578Z         },
2026-06-02T10:47:23.2568695Z         "unit": {
2026-06-02T10:47:23.2568815Z           "complete": true,
2026-06-02T10:47:23.2568940Z           "evidence": [
2026-06-02T10:47:23.2569063Z             {
2026-06-02T10:47:23.2569222Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-02T10:47:23.2569353Z               "line": 397
2026-06-02T10:47:23.2569464Z             },
2026-06-02T10:47:23.2569578Z             {
2026-06-02T10:47:23.2569763Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-02T10:47:23.2569889Z               "line": 404
2026-06-02T10:47:23.2570004Z             },
2026-06-02T10:47:23.2570111Z             {
2026-06-02T10:47:23.2570271Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-02T10:47:23.2570388Z               "line": 414
2026-06-02T10:47:23.2570505Z             },
2026-06-02T10:47:23.2570612Z             {
2026-06-02T10:47:23.2570778Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-02T10:47:23.2570906Z               "line": 420
2026-06-02T10:47:23.2571016Z             },
2026-06-02T10:47:23.2571130Z             {
2026-06-02T10:47:23.2571290Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-02T10:47:23.2571424Z               "line": 440
2026-06-02T10:47:23.2571539Z             },
2026-06-02T10:47:23.2571652Z             {
2026-06-02T10:47:23.2571817Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-02T10:47:23.2571935Z               "line": 473
2026-06-02T10:47:23.2572051Z             }
2026-06-02T10:47:23.2572158Z           ]
2026-06-02T10:47:23.2572272Z         }
2026-06-02T10:47:23.2572380Z       }
2026-06-02T10:47:23.2572492Z     },
2026-06-02T10:47:23.2572603Z     {
2026-06-02T10:47:23.2572727Z       "id": "REQ-SEAM-UPDATE",
2026-06-02T10:47:23.2572957Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-02T10:47:23.2573082Z       "requiredStages": [],
2026-06-02T10:47:23.2573204Z       "stages": {
2026-06-02T10:47:23.2573315Z         "doc": {
2026-06-02T10:47:23.2573445Z           "complete": false,
2026-06-02T10:47:23.2573572Z           "evidence": []
2026-06-02T10:47:23.2573679Z         },
2026-06-02T10:47:23.2573801Z         "impl": {
2026-06-02T10:47:23.2573927Z           "complete": false,
2026-06-02T10:47:23.2574057Z           "evidence": []
2026-06-02T10:47:23.2574163Z         },
2026-06-02T10:47:23.2574283Z         "int": {
2026-06-02T10:47:23.2574410Z           "complete": false,
2026-06-02T10:47:23.2574527Z           "evidence": []
2026-06-02T10:47:23.2574641Z         },
2026-06-02T10:47:23.2574752Z         "unit": {
2026-06-02T10:47:23.2574879Z           "complete": false,
2026-06-02T10:47:23.2574993Z           "evidence": []
2026-06-02T10:47:23.2575111Z         }
2026-06-02T10:47:23.2575228Z       }
2026-06-02T10:47:23.2575335Z     },
2026-06-02T10:47:23.2575449Z     {
2026-06-02T10:47:23.2575571Z       "id": "REQ-SEC-1",
2026-06-02T10:47:23.2576103Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-02T10:47:23.2576233Z       "requiredStages": [],
2026-06-02T10:47:23.2576355Z       "stages": {
2026-06-02T10:47:23.2576653Z         "doc": {
2026-06-02T10:47:23.2576774Z           "complete": false,
2026-06-02T10:47:23.2577014Z           "evidence": []
2026-06-02T10:47:23.2577120Z         },
2026-06-02T10:47:23.2577241Z         "impl": {
2026-06-02T10:47:23.2577482Z           "complete": false,
2026-06-02T10:47:23.2577611Z           "evidence": []
2026-06-02T10:47:23.2577725Z         },
2026-06-02T10:47:23.2577837Z         "int": {
2026-06-02T10:47:23.2577966Z           "complete": false,
2026-06-02T10:47:23.2578084Z           "evidence": []
2026-06-02T10:47:23.2578198Z         },
2026-06-02T10:47:23.2578310Z         "unit": {
2026-06-02T10:47:23.2578434Z           "complete": false,
2026-06-02T10:47:23.2578561Z           "evidence": []
2026-06-02T10:47:23.2578669Z         }
2026-06-02T10:47:23.2578779Z       }
2026-06-02T10:47:23.2578886Z     },
2026-06-02T10:47:23.2578997Z     {
2026-06-02T10:47:23.2579120Z       "id": "REQ-START-1",
2026-06-02T10:47:23.2579389Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-02T10:47:23.2579530Z       "requiredStages": [
2026-06-02T10:47:23.2579652Z         "impl",
2026-06-02T10:47:23.2579768Z         "unit"
2026-06-02T10:47:23.2579874Z       ],
2026-06-02T10:47:23.2579996Z       "stages": {
2026-06-02T10:47:23.2580107Z         "doc": {
2026-06-02T10:47:23.2580240Z           "complete": false,
2026-06-02T10:47:23.2580364Z           "evidence": []
2026-06-02T10:47:23.2580471Z         },
2026-06-02T10:47:23.2580591Z         "impl": {
2026-06-02T10:47:23.2580712Z           "complete": true,
2026-06-02T10:47:23.2580839Z           "evidence": [
2026-06-02T10:47:23.2580944Z             {
2026-06-02T10:47:23.2581106Z               "path": "crates/spt-store/src/seed.rs",
2026-06-02T10:47:23.2581230Z               "line": 12
2026-06-02T10:47:23.2581339Z             },
2026-06-02T10:47:23.2581452Z             {
2026-06-02T10:47:23.2581608Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2581734Z               "line": 15
2026-06-02T10:47:23.2581853Z             },
2026-06-02T10:47:23.2581971Z             {
2026-06-02T10:47:23.2582138Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2582254Z               "line": 38
2026-06-02T10:47:23.2582371Z             }
2026-06-02T10:47:23.2582477Z           ]
2026-06-02T10:47:23.2582592Z         },
2026-06-02T10:47:23.2582705Z         "int": {
2026-06-02T10:47:23.2582832Z           "complete": false,
2026-06-02T10:47:23.2582955Z           "evidence": []
2026-06-02T10:47:23.2583061Z         },
2026-06-02T10:47:23.2583177Z         "unit": {
2026-06-02T10:47:23.2583302Z           "complete": true,
2026-06-02T10:47:23.2583424Z           "evidence": [
2026-06-02T10:47:23.2583531Z             {
2026-06-02T10:47:23.2583694Z               "path": "crates/spt-store/src/seed.rs",
2026-06-02T10:47:23.2583816Z               "line": 97
2026-06-02T10:47:23.2583927Z             },
2026-06-02T10:47:23.2584045Z             {
2026-06-02T10:47:23.2584194Z               "path": "crates/spt-store/src/seed.rs",
2026-06-02T10:47:23.2584327Z               "line": 112
2026-06-02T10:47:23.2584442Z             }
2026-06-02T10:47:23.2584558Z           ]
2026-06-02T10:47:23.2584672Z         }
2026-06-02T10:47:23.2584780Z       }
2026-06-02T10:47:23.2584892Z     },
2026-06-02T10:47:23.2584998Z     {
2026-06-02T10:47:23.2585127Z       "id": "REQ-START-2",
2026-06-02T10:47:23.2585318Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-02T10:47:23.2585450Z       "requiredStages": [
2026-06-02T10:47:23.2585583Z         "impl",
2026-06-02T10:47:23.2585695Z         "unit",
2026-06-02T10:47:23.2585810Z         "int"
2026-06-02T10:47:23.2585917Z       ],
2026-06-02T10:47:23.2586036Z       "stages": {
2026-06-02T10:47:23.2586149Z         "doc": {
2026-06-02T10:47:23.2586277Z           "complete": false,
2026-06-02T10:47:23.2586403Z           "evidence": []
2026-06-02T10:47:23.2586509Z         },
2026-06-02T10:47:23.2586626Z         "impl": {
2026-06-02T10:47:23.2586745Z           "complete": true,
2026-06-02T10:47:23.2587037Z           "evidence": [
2026-06-02T10:47:23.2587255Z             {
2026-06-02T10:47:23.2587532Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2587657Z               "line": 16
2026-06-02T10:47:23.2587766Z             },
2026-06-02T10:47:23.2587879Z             {
2026-06-02T10:47:23.2588034Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2588161Z               "line": 81
2026-06-02T10:47:23.2588274Z             },
2026-06-02T10:47:23.2588391Z             {
2026-06-02T10:47:23.2588547Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2588665Z               "line": 142
2026-06-02T10:47:23.2588779Z             }
2026-06-02T10:47:23.2588887Z           ]
2026-06-02T10:47:23.2589001Z         },
2026-06-02T10:47:23.2589112Z         "int": {
2026-06-02T10:47:23.2589248Z           "complete": true,
2026-06-02T10:47:23.2589371Z           "evidence": [
2026-06-02T10:47:23.2589481Z             {
2026-06-02T10:47:23.2589665Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-02T10:47:23.2589789Z               "line": 121
2026-06-02T10:47:23.2589903Z             }
2026-06-02T10:47:23.2590012Z           ]
2026-06-02T10:47:23.2590125Z         },
2026-06-02T10:47:23.2590247Z         "unit": {
2026-06-02T10:47:23.2590370Z           "complete": true,
2026-06-02T10:47:23.2590499Z           "evidence": [
2026-06-02T10:47:23.2590642Z             {
2026-06-02T10:47:23.2590806Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2590924Z               "line": 309
2026-06-02T10:47:23.2591044Z             },
2026-06-02T10:47:23.2591161Z             {
2026-06-02T10:47:23.2591314Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2591442Z               "line": 339
2026-06-02T10:47:23.2591557Z             },
2026-06-02T10:47:23.2591674Z             {
2026-06-02T10:47:23.2591826Z               "path": "crates/spt/src/api/startup.rs",
2026-06-02T10:47:23.2591952Z               "line": 346
2026-06-02T10:47:23.2592080Z             }
2026-06-02T10:47:23.2592200Z           ]
2026-06-02T10:47:23.2592317Z         }
2026-06-02T10:47:23.2592426Z       }
2026-06-02T10:47:23.2592541Z     },
2026-06-02T10:47:23.2592651Z     {
2026-06-02T10:47:23.2592780Z       "id": "REQ-START-3",
2026-06-02T10:47:23.2593019Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-02T10:47:23.2593145Z       "requiredStages": [],
2026-06-02T10:47:23.2593267Z       "stages": {
2026-06-02T10:47:23.2593383Z         "doc": {
2026-06-02T10:47:23.2593515Z           "complete": false,
2026-06-02T10:47:23.2593633Z           "evidence": []
2026-06-02T10:47:23.2593753Z         },
2026-06-02T10:47:23.2593875Z         "impl": {
2026-06-02T10:47:23.2594000Z           "complete": false,
2026-06-02T10:47:23.2594124Z           "evidence": []
2026-06-02T10:47:23.2594233Z         },
2026-06-02T10:47:23.2594352Z         "int": {
2026-06-02T10:47:23.2594476Z           "complete": false,
2026-06-02T10:47:23.2594610Z           "evidence": []
2026-06-02T10:47:23.2594732Z         },
2026-06-02T10:47:23.2594845Z         "unit": {
2026-06-02T10:47:23.2594979Z           "complete": false,
2026-06-02T10:47:23.2595103Z           "evidence": []
2026-06-02T10:47:23.2595223Z         }
2026-06-02T10:47:23.2595331Z       }
2026-06-02T10:47:23.2595451Z     },
2026-06-02T10:47:23.2595566Z     {
2026-06-02T10:47:23.2595690Z       "id": "REQ-START-4",
2026-06-02T10:47:23.2595891Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-02T10:47:23.2596016Z       "requiredStages": [
2026-06-02T10:47:23.2596138Z         "impl",
2026-06-02T10:47:23.2596249Z         "unit"
2026-06-02T10:47:23.2596367Z       ],
2026-06-02T10:47:23.2596486Z       "stages": {
2026-06-02T10:47:23.2596600Z         "doc": {
2026-06-02T10:47:23.2596730Z           "complete": false,
2026-06-02T10:47:23.2596851Z           "evidence": []
2026-06-02T10:47:23.2596967Z         },
2026-06-02T10:47:23.2597082Z         "impl": {
2026-06-02T10:47:23.2597487Z           "complete": true,
2026-06-02T10:47:23.2597733Z           "evidence": [
2026-06-02T10:47:23.2597847Z             {
2026-06-02T10:47:23.2598022Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.2598141Z               "line": 183
2026-06-02T10:47:23.2598263Z             }
2026-06-02T10:47:23.2598372Z           ]
2026-06-02T10:47:23.2598493Z         },
2026-06-02T10:47:23.2598611Z         "int": {
2026-06-02T10:47:23.2598736Z           "complete": false,
2026-06-02T10:47:23.2598863Z           "evidence": []
2026-06-02T10:47:23.2598971Z         },
2026-06-02T10:47:23.2599091Z         "unit": {
2026-06-02T10:47:23.2599215Z           "complete": true,
2026-06-02T10:47:23.2599346Z           "evidence": [
2026-06-02T10:47:23.2599459Z             {
2026-06-02T10:47:23.2599622Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-02T10:47:23.2599749Z               "line": 324
2026-06-02T10:47:23.2599858Z             }
2026-06-02T10:47:23.2599984Z           ]
2026-06-02T10:47:23.2600091Z         }
2026-06-02T10:47:23.2600214Z       }
2026-06-02T10:47:23.2600326Z     },
2026-06-02T10:47:23.2600437Z     {
2026-06-02T10:47:23.2600568Z       "id": "REQ-TERM-1",
2026-06-02T10:47:23.2600806Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-02T10:47:23.2600939Z       "requiredStages": [
2026-06-02T10:47:23.2601054Z         "impl",
2026-06-02T10:47:23.2601177Z         "unit"
2026-06-02T10:47:23.2601296Z       ],
2026-06-02T10:47:23.2601411Z       "stages": {
2026-06-02T10:47:23.2601529Z         "doc": {
2026-06-02T10:47:23.2601657Z           "complete": false,
2026-06-02T10:47:23.2601787Z           "evidence": []
2026-06-02T10:47:23.2601894Z         },
2026-06-02T10:47:23.2602012Z         "impl": {
2026-06-02T10:47:23.2602141Z           "complete": true,
2026-06-02T10:47:23.2602262Z           "evidence": [
2026-06-02T10:47:23.2602380Z             {
2026-06-02T10:47:23.2602548Z               "path": "crates/spt-term/src/pty.rs",
2026-06-02T10:47:23.2602685Z               "line": 61
2026-06-02T10:47:23.2602800Z             },
2026-06-02T10:47:23.2602923Z             {
2026-06-02T10:47:23.2603079Z               "path": "crates/spt-term/src/pty.rs",
2026-06-02T10:47:23.2603197Z               "line": 169
2026-06-02T10:47:23.2603316Z             },
2026-06-02T10:47:23.2603426Z             {
2026-06-02T10:47:23.2603595Z               "path": "crates/spt-term/src/surface.rs",
2026-06-02T10:47:23.2603713Z               "line": 95
2026-06-02T10:47:23.2603832Z             }
2026-06-02T10:47:23.2603948Z           ]
2026-06-02T10:47:23.2604056Z         },
2026-06-02T10:47:23.2604177Z         "int": {
2026-06-02T10:47:23.2604302Z           "complete": false,
2026-06-02T10:47:23.2604430Z           "evidence": []
2026-06-02T10:47:23.2604538Z         },
2026-06-02T10:47:23.2604661Z         "unit": {
2026-06-02T10:47:23.2604788Z           "complete": true,
2026-06-02T10:47:23.2604907Z           "evidence": [
2026-06-02T10:47:23.2605026Z             {
2026-06-02T10:47:23.2605203Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-02T10:47:23.2605337Z               "line": 28
2026-06-02T10:47:23.2605447Z             },
2026-06-02T10:47:23.2605564Z             {
2026-06-02T10:47:23.2605731Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-02T10:47:23.2605849Z               "line": 60
2026-06-02T10:47:23.2605971Z             }
2026-06-02T10:47:23.2606079Z           ]
2026-06-02T10:47:23.2606196Z         }
2026-06-02T10:47:23.2606306Z       }
2026-06-02T10:47:23.2606425Z     },
2026-06-02T10:47:23.2606541Z     {
2026-06-02T10:47:23.2606664Z       "id": "REQ-TERM-2",
2026-06-02T10:47:23.2606922Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-02T10:47:23.2607048Z       "requiredStages": [
2026-06-02T10:47:23.2607170Z         "impl",
2026-06-02T10:47:23.2607282Z         "unit"
2026-06-02T10:47:23.2607516Z       ],
2026-06-02T10:47:23.2607642Z       "stages": {
2026-06-02T10:47:23.2607754Z         "doc": {
2026-06-02T10:47:23.2608041Z           "complete": false,
2026-06-02T10:47:23.2608281Z           "evidence": []
2026-06-02T10:47:23.2608399Z         },
2026-06-02T10:47:23.2608513Z         "impl": {
2026-06-02T10:47:23.2608646Z           "complete": true,
2026-06-02T10:47:23.2608771Z           "evidence": [
2026-06-02T10:47:23.2608882Z             {
2026-06-02T10:47:23.2609052Z               "path": "crates/spt-term/src/surface.rs",
2026-06-02T10:47:23.2609172Z               "line": 112
2026-06-02T10:47:23.2609293Z             },
2026-06-02T10:47:23.2609403Z             {
2026-06-02T10:47:23.2609571Z               "path": "crates/spt-term/src/surface.rs",
2026-06-02T10:47:23.2609697Z               "line": 122
2026-06-02T10:47:23.2609809Z             }
2026-06-02T10:47:23.2609926Z           ]
2026-06-02T10:47:23.2610035Z         },
2026-06-02T10:47:23.2610157Z         "int": {
2026-06-02T10:47:23.2610281Z           "complete": false,
2026-06-02T10:47:23.2610410Z           "evidence": []
2026-06-02T10:47:23.2610535Z         },
2026-06-02T10:47:23.2610648Z         "unit": {
2026-06-02T10:47:23.2610781Z           "complete": true,
2026-06-02T10:47:23.2610900Z           "evidence": [
2026-06-02T10:47:23.2611018Z             {
2026-06-02T10:47:23.2611182Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-02T10:47:23.2611310Z               "line": 46
2026-06-02T10:47:23.2611427Z             },
2026-06-02T10:47:23.2611539Z             {
2026-06-02T10:47:23.2611705Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-02T10:47:23.2611825Z               "line": 71
2026-06-02T10:47:23.2611943Z             }
2026-06-02T10:47:23.2612053Z           ]
2026-06-02T10:47:23.2612173Z         }
2026-06-02T10:47:23.2612291Z       }
2026-06-02T10:47:23.2612401Z     },
2026-06-02T10:47:23.2612519Z     {
2026-06-02T10:47:23.2612641Z       "id": "REQ-TERM-3",
2026-06-02T10:47:23.2612852Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-02T10:47:23.2612986Z       "requiredStages": [
2026-06-02T10:47:23.2613116Z         "impl",
2026-06-02T10:47:23.2613239Z         "unit"
2026-06-02T10:47:23.2613348Z       ],
2026-06-02T10:47:23.2613473Z       "stages": {
2026-06-02T10:47:23.2613588Z         "doc": {
2026-06-02T10:47:23.2613720Z           "complete": false,
2026-06-02T10:47:23.2613841Z           "evidence": []
2026-06-02T10:47:23.2613959Z         },
2026-06-02T10:47:23.2614079Z         "impl": {
2026-06-02T10:47:23.2614203Z           "complete": true,
2026-06-02T10:47:23.2614329Z           "evidence": [
2026-06-02T10:47:23.2614438Z             {
2026-06-02T10:47:23.2614603Z               "path": "crates/spt-term/src/stream.rs",
2026-06-02T10:47:23.2614719Z               "line": 71
2026-06-02T10:47:23.2614837Z             }
2026-06-02T10:47:23.2614952Z           ]
2026-06-02T10:47:23.2615060Z         },
2026-06-02T10:47:23.2615179Z         "int": {
2026-06-02T10:47:23.2615301Z           "complete": false,
2026-06-02T10:47:23.2615429Z           "evidence": []
2026-06-02T10:47:23.2615546Z         },
2026-06-02T10:47:23.2615662Z         "unit": {
2026-06-02T10:47:23.2615797Z           "complete": true,
2026-06-02T10:47:23.2615913Z           "evidence": [
2026-06-02T10:47:23.2616029Z             {
2026-06-02T10:47:23.2616186Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-02T10:47:23.2616308Z               "line": 37
2026-06-02T10:47:23.2616417Z             },
2026-06-02T10:47:23.2616539Z             {
2026-06-02T10:47:23.2616699Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-02T10:47:23.2616817Z               "line": 67
2026-06-02T10:47:23.2616937Z             }
2026-06-02T10:47:23.2617045Z           ]
2026-06-02T10:47:23.2617160Z         }
2026-06-02T10:47:23.2617267Z       }
2026-06-02T10:47:23.2617495Z     },
2026-06-02T10:47:23.2617609Z     {
2026-06-02T10:47:23.2617730Z       "id": "REQ-TERM-4",
2026-06-02T10:47:23.2618224Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-02T10:47:23.2618505Z       "requiredStages": [
2026-06-02T10:47:23.2618748Z         "impl",
2026-06-02T10:47:23.2618859Z         "unit"
2026-06-02T10:47:23.2618979Z       ],
2026-06-02T10:47:23.2619104Z       "stages": {
2026-06-02T10:47:23.2619221Z         "doc": {
2026-06-02T10:47:23.2619355Z           "complete": false,
2026-06-02T10:47:23.2619473Z           "evidence": []
2026-06-02T10:47:23.2619590Z         },
2026-06-02T10:47:23.2619704Z         "impl": {
2026-06-02T10:47:23.2619836Z           "complete": true,
2026-06-02T10:47:23.2619961Z           "evidence": [
2026-06-02T10:47:23.2620072Z             {
2026-06-02T10:47:23.2620238Z               "path": "crates/spt-term/src/digest.rs",
2026-06-02T10:47:23.2620358Z               "line": 156
2026-06-02T10:47:23.2620475Z             },
2026-06-02T10:47:23.2620584Z             {
2026-06-02T10:47:23.2620745Z               "path": "crates/spt-term/src/digest.rs",
2026-06-02T10:47:23.2620867Z               "line": 198
2026-06-02T10:47:23.2620987Z             },
2026-06-02T10:47:23.2621105Z             {
2026-06-02T10:47:23.2621263Z               "path": "crates/spt-term/src/digest.rs",
2026-06-02T10:47:23.2621390Z               "line": 225
2026-06-02T10:47:23.2621499Z             }
2026-06-02T10:47:23.2621619Z           ]
2026-06-02T10:47:23.2621735Z         },
2026-06-02T10:47:23.2621850Z         "int": {
2026-06-02T10:47:23.2621981Z           "complete": false,
2026-06-02T10:47:23.2622098Z           "evidence": []
2026-06-02T10:47:23.2622218Z         },
2026-06-02T10:47:23.2622331Z         "unit": {
2026-06-02T10:47:23.2622461Z           "complete": true,
2026-06-02T10:47:23.2622587Z           "evidence": [
2026-06-02T10:47:23.2622699Z             {
2026-06-02T10:47:23.2622856Z               "path": "crates/spt-term/src/digest.rs",
2026-06-02T10:47:23.2622973Z               "line": 380
2026-06-02T10:47:23.2623092Z             },
2026-06-02T10:47:23.2623200Z             {
2026-06-02T10:47:23.2623355Z               "path": "crates/spt-term/src/digest.rs",
2026-06-02T10:47:23.2623482Z               "line": 401
2026-06-02T10:47:23.2623598Z             },
2026-06-02T10:47:23.2623717Z             {
2026-06-02T10:47:23.2623866Z               "path": "crates/spt-term/src/digest.rs",
2026-06-02T10:47:23.2623994Z               "line": 414
2026-06-02T10:47:23.2624106Z             },
2026-06-02T10:47:23.2624225Z             {
2026-06-02T10:47:23.2624384Z               "path": "crates/spt-term/src/digest.rs",
2026-06-02T10:47:23.2624502Z               "line": 433
2026-06-02T10:47:23.2624617Z             },
2026-06-02T10:47:23.2624731Z             {
2026-06-02T10:47:23.2624894Z               "path": "crates/spt-term/src/digest.rs",
2026-06-02T10:47:23.2625019Z               "line": 460
2026-06-02T10:47:23.2625127Z             },
2026-06-02T10:47:23.2625243Z             {
2026-06-02T10:47:23.2625400Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-02T10:47:23.2625526Z               "line": 32
2026-06-02T10:47:23.2625637Z             }
2026-06-02T10:47:23.2625763Z           ]
2026-06-02T10:47:23.2625885Z         }
2026-06-02T10:47:23.2625995Z       }
2026-06-02T10:47:23.2626113Z     },
2026-06-02T10:47:23.2626220Z     {
2026-06-02T10:47:23.2626351Z       "id": "REQ-UPD-1",
2026-06-02T10:47:23.2626521Z       "title": "Peer-propagated update over P2P",
2026-06-02T10:47:23.2626658Z       "requiredStages": [],
2026-06-02T10:47:23.2626773Z       "stages": {
2026-06-02T10:47:23.2626895Z         "doc": {
2026-06-02T10:47:23.2627020Z           "complete": false,
2026-06-02T10:47:23.2627139Z           "evidence": []
2026-06-02T10:47:23.2627258Z         },
2026-06-02T10:47:23.2627485Z         "impl": {
2026-06-02T10:47:23.2627618Z           "complete": false,
2026-06-02T10:47:23.2627736Z           "evidence": []
2026-06-02T10:47:23.2627855Z         },
2026-06-02T10:47:23.2627973Z         "int": {
2026-06-02T10:47:23.2628098Z           "complete": false,
2026-06-02T10:47:23.2628223Z           "evidence": []
2026-06-02T10:47:23.2631412Z         },
2026-06-02T10:47:23.2631745Z         "unit": {
2026-06-02T10:47:23.2631994Z           "complete": false,
2026-06-02T10:47:23.2632124Z           "evidence": []
2026-06-02T10:47:23.2632238Z         }
2026-06-02T10:47:23.2632348Z       }
2026-06-02T10:47:23.2632463Z     },
2026-06-02T10:47:23.2632570Z     {
2026-06-02T10:47:23.2632702Z       "id": "REQ-UPD-2",
2026-06-02T10:47:23.2632916Z       "title": "All binaries signature-verified before handoff",
2026-06-02T10:47:23.2633051Z       "requiredStages": [],
2026-06-02T10:47:23.2633172Z       "stages": {
2026-06-02T10:47:23.2633285Z         "doc": {
2026-06-02T10:47:23.2633417Z           "complete": false,
2026-06-02T10:47:23.2633535Z           "evidence": []
2026-06-02T10:47:23.2633650Z         },
2026-06-02T10:47:23.2633764Z         "impl": {
2026-06-02T10:47:23.2633894Z           "complete": false,
2026-06-02T10:47:23.2634015Z           "evidence": []
2026-06-02T10:47:23.2634125Z         },
2026-06-02T10:47:23.2634243Z         "int": {
2026-06-02T10:47:23.2634373Z           "complete": false,
2026-06-02T10:47:23.2634498Z           "evidence": []
2026-06-02T10:47:23.2634616Z         },
2026-06-02T10:47:23.2634738Z         "unit": {
2026-06-02T10:47:23.2634862Z           "complete": false,
2026-06-02T10:47:23.2634987Z           "evidence": []
2026-06-02T10:47:23.2635106Z         }
2026-06-02T10:47:23.2635213Z       }
2026-06-02T10:47:23.2635326Z     },
2026-06-02T10:47:23.2635434Z     {
2026-06-02T10:47:23.2635562Z       "id": "REQ-UPD-3",
2026-06-02T10:47:23.2635812Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-02T10:47:23.2635951Z       "requiredStages": [],
2026-06-02T10:47:23.2636068Z       "stages": {
2026-06-02T10:47:23.2636181Z         "doc": {
2026-06-02T10:47:23.2636312Z           "complete": false,
2026-06-02T10:47:23.2636435Z           "evidence": []
2026-06-02T10:47:23.2636553Z         },
2026-06-02T10:47:23.2636667Z         "impl": {
2026-06-02T10:47:23.2636797Z           "complete": false,
2026-06-02T10:47:23.2636929Z           "evidence": []
2026-06-02T10:47:23.2637038Z         },
2026-06-02T10:47:23.2637169Z         "int": {
2026-06-02T10:47:23.2637288Z           "complete": false,
2026-06-02T10:47:23.2637576Z           "evidence": []
2026-06-02T10:47:23.2637685Z         },
2026-06-02T10:47:23.2637805Z         "unit": {
2026-06-02T10:47:23.2637936Z           "complete": false,
2026-06-02T10:47:23.2638056Z           "evidence": []
2026-06-02T10:47:23.2638179Z         }
2026-06-02T10:47:23.2638288Z       }
2026-06-02T10:47:23.2638401Z     },
2026-06-02T10:47:23.2638507Z     {
2026-06-02T10:47:23.2638637Z       "id": "REQ-UPD-4",
2026-06-02T10:47:23.2638904Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-02T10:47:23.2639029Z       "requiredStages": [],
2026-06-02T10:47:23.2639147Z       "stages": {
2026-06-02T10:47:23.2639258Z         "doc": {
2026-06-02T10:47:23.2639388Z           "complete": false,
2026-06-02T10:47:23.2639508Z           "evidence": []
2026-06-02T10:47:23.2639635Z         },
2026-06-02T10:47:23.2639754Z         "impl": {
2026-06-02T10:47:23.2639888Z           "complete": false,
2026-06-02T10:47:23.2640015Z           "evidence": []
2026-06-02T10:47:23.2640123Z         },
2026-06-02T10:47:23.2640244Z         "int": {
2026-06-02T10:47:23.2640369Z           "complete": false,
2026-06-02T10:47:23.2640496Z           "evidence": []
2026-06-02T10:47:23.2640607Z         },
2026-06-02T10:47:23.2640718Z         "unit": {
2026-06-02T10:47:23.2640843Z           "complete": false,
2026-06-02T10:47:23.2640962Z           "evidence": []
2026-06-02T10:47:23.2641077Z         }
2026-06-02T10:47:23.2641186Z       }
2026-06-02T10:47:23.2641301Z     },
2026-06-02T10:47:23.2641413Z     {
2026-06-02T10:47:23.2641534Z       "id": "REQ-UPD-5",
2026-06-02T10:47:23.2641747Z       "title": "spt-core ripple-updates registered adapters",
2026-06-02T10:47:23.2641873Z       "requiredStages": [],
2026-06-02T10:47:23.2641995Z       "stages": {
2026-06-02T10:47:23.2642107Z         "doc": {
2026-06-02T10:47:23.2642452Z           "complete": false,
2026-06-02T10:47:23.2642700Z           "evidence": []
2026-06-02T10:47:23.2642810Z         },
2026-06-02T10:47:23.2642929Z         "impl": {
2026-06-02T10:47:23.2643049Z           "complete": false,
2026-06-02T10:47:23.2643172Z           "evidence": []
2026-06-02T10:47:23.2643282Z         },
2026-06-02T10:47:23.2643402Z         "int": {
2026-06-02T10:47:23.2643530Z           "complete": false,
2026-06-02T10:47:23.2643647Z           "evidence": []
2026-06-02T10:47:23.2643761Z         },
2026-06-02T10:47:23.2643872Z         "unit": {
2026-06-02T10:47:23.2644005Z           "complete": false,
2026-06-02T10:47:23.2644123Z           "evidence": []
2026-06-02T10:47:23.2644241Z         }
2026-06-02T10:47:23.2644355Z       }
2026-06-02T10:47:23.2644465Z     }
2026-06-02T10:47:23.2644579Z   ],
2026-06-02T10:47:23.2644694Z   "findings": [
2026-06-02T10:47:23.2644810Z     {
2026-06-02T10:47:23.2644936Z       "code": "parse_error",
2026-06-02T10:47:23.2645067Z       "severity": "must",
2026-06-02T10:47:23.2645229Z       "path": "docs/TRACEABILITY.md",
2026-06-02T10:47:23.2645349Z       "line": 12,
2026-06-02T10:47:23.2645563Z       "message": "Tag-shaped token does not match [stage->REQ-ID]"
2026-06-02T10:47:23.2645672Z     },
2026-06-02T10:47:23.2645783Z     {
2026-06-02T10:47:23.2645909Z       "code": "parse_error",
2026-06-02T10:47:23.2646039Z       "severity": "must",
2026-06-02T10:47:23.2646183Z       "path": "docs/TRACEABILITY.md",
2026-06-02T10:47:23.2646299Z       "line": 24,
2026-06-02T10:47:23.2646499Z       "message": "Tag-shaped token does not match [stage->REQ-ID]"
2026-06-02T10:47:23.2646607Z     },
2026-06-02T10:47:23.2646722Z     {
2026-06-02T10:47:23.2646844Z       "code": "parse_error",
2026-06-02T10:47:23.2646971Z       "severity": "must",
2026-06-02T10:47:23.2647111Z       "path": "docs/TRACEABILITY.md",
2026-06-02T10:47:23.2647226Z       "line": 25,
2026-06-02T10:47:23.2647538Z       "message": "Tag-shaped token does not match [stage->REQ-ID]"
2026-06-02T10:47:23.2647662Z     },
2026-06-02T10:47:23.2647779Z     {
2026-06-02T10:47:23.2647918Z       "code": "parse_error",
2026-06-02T10:47:23.2648053Z       "severity": "must",
2026-06-02T10:47:23.2648193Z       "path": "docs/TRACEABILITY.md",
2026-06-02T10:47:23.2648309Z       "line": 29,
2026-06-02T10:47:23.2648509Z       "message": "Tag-shaped token does not match [stage->REQ-ID]"
2026-06-02T10:47:23.2648620Z     },
2026-06-02T10:47:23.2648734Z     {
2026-06-02T10:47:23.2648856Z       "code": "parse_error",
2026-06-02T10:47:23.2648982Z       "severity": "must",
2026-06-02T10:47:23.2649120Z       "path": "docs/TRACEABILITY.md",
2026-06-02T10:47:23.2649236Z       "line": 33,
2026-06-02T10:47:23.2649431Z       "message": "Tag-shaped token does not match [stage->REQ-ID]"
2026-06-02T10:47:23.2649546Z     },
2026-06-02T10:47:23.2649663Z     {
2026-06-02T10:47:23.2649785Z       "code": "parse_error",
2026-06-02T10:47:23.2649913Z       "severity": "must",
2026-06-02T10:47:23.2650050Z       "path": "docs/TRACEABILITY.md",
2026-06-02T10:47:23.2650167Z       "line": 37,
2026-06-02T10:47:23.2650361Z       "message": "Tag-shaped token does not match [stage->REQ-ID]"
2026-06-02T10:47:23.2650466Z     },
2026-06-02T10:47:23.2650578Z     {
2026-06-02T10:47:23.2650698Z       "code": "parse_error",
2026-06-02T10:47:23.2650828Z       "severity": "must",
2026-06-02T10:47:23.2650965Z       "path": "docs/TRACEABILITY.md",
2026-06-02T10:47:23.2651076Z       "line": 45,
2026-06-02T10:47:23.2651271Z       "message": "Tag-shaped token does not match [stage->REQ-ID]"
2026-06-02T10:47:23.2651379Z     }
2026-06-02T10:47:23.2651494Z   ]
2026-06-02T10:47:23.2651607Z }
2026-06-02T10:47:23.2663831Z ##[error]Process completed with exit code 1.
